来源于自己组装 直接利用 JSON 编辑器或者纯文本编辑器,自己一个字段一个字段地编写 JSON 资 源数据。 注意: 这种方式容易出现 JSON 格式错误及字符串转义问题。
来源于代码生成 做为程序员,能够用程序生成 JSON 资源数据,就绝不手工组装 JSON 资源数据。下 面,便是利用 Fastjson 的 JSON.toJSONString 方法生成 JSON 资源数据。 执行该程序后,生成的 JSON 资源数据如下: 注意: 这种方式能够避免 JSON 格式错误及字符串转义问题。
来源于线上日志 如果是事后补充单元测试,首先想到的就是利用线上日志。比如: 从上面的日志中,我们可以得到方法 userDAO.queryByCompanyId 的请求参数 companyId 取值为“1”,返回结果为: “[{“id”:1,”name”:”Changyi”,”title”:”Java Developer”…},{“id”:2,”name”:”Tester”,”title”:”Java Tester”…},…]” 注意: 要想得到现成的 JSON 资源数据,就必须输出完整的 JSON 数据内容。但是,由于 JSON 数据内容过大,一般不建议全部输出。所以,从线上日志中也不一定能够拿到 现成的 JSON 资源数据。
来源于集成测试 集成测试,就是把整个或部分项目环境运行起来,能够连接数据库、Redis、MetaQ、 HSF 等所依赖的第三方服务环境,然后测试某一个方法的功能是否能够达到预期。 执行上面集成测试用例,输出的日志内容如下: 上面日志中,userList 后面的就是我们需要的 JSON 资源数据。 我们也可以用集成测试得到方法内部的方法调用的参数值和返回值,具体方法如下: • 首先,在源代码中添加日志输出语句; • 然后,执行单元测试用例,得到对应的方法调用参数值和返回值; • 最后,删除源代码中日志输出语句,恢复源代码为原来的样子。
来源于测试过程 有一些数据,是由被测方法生成的,比如:方法返回值和调用参数。针对这类数据, 可以在测试过程中生成,然后逐一进行数据核对,最后整理成 JSON 资源文件。 被测方法: 测试用例: 执行单元测试后,提示以下问题: 上面的错误信息中,后面括号中的就是我们需要需要的 JSON 资源数据。 注意: 一定要进行数据核对,这有可能是错误代码生成的错误数据。用错误数据去验证生 成它的代码,当然不会测试出其中的问题。
以上内容摘自《Java工程师必读手册》电子书,点击https://developer.aliyun.com/ebook/download/7780 可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。