【发布时间】:2018-07-25 20:37:04
【问题描述】:
我有一个相当大的 json 文件,我需要使用它和一堆数据来测试 API。我使用带有 POJO 的构建器方法实现了请求的序列化版本。一切正常,但我在 setters 方法中使用了字符串,所以它是硬编码的。
假设我有这个例子:
{
"name" : "my_username",
"first-name" : "My",
"last-name" : "Username",
"display-name" : "My Username",
"email" : "user@example.test",
"password" : {
"value" : "my_password"
},
"active" : true
}
我的问题:为 api 测试存储测试数据的最佳做法是什么?
属性文件? CSV/excel 并解析它?还是 json 并使用对象映射器创建对象?
我们需要专注于创建新测试用例的简单存储和修改。我的想法是创建一个大对象,将测试数据存储在某个地方并使用 getter,我可以轻松构建任何请求/响应对象,并且可以避免任何维护问题。谢谢!
【问题讨论】:
-
存储为 JSON 文件,通过 ObjectMapper 读入 Object。
-
我会使用 json-to-object 库。有很多可用的。 imo 不这样做的唯一原因是测试速度很慢,需要加快速度。
-
我的问题是,如果我想重写 json 文件,这将是一项巨大的工作,因为对于 1 个测试用例,我可以在其中包含 100 多个项目。如果有响应,我可以解析一个 excel 来获取所有数据。 CSV 的缺点是什么?
标签: java testing jackson automated-tests pojo