【问题标题】:Storing test data for API tests using POJOs使用 POJO 存储 API 测试的测试数据
【发布时间】: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


【解决方案1】:

根据我的经验,最好将 json 文件存储在项目中。甚至 AWS 并将这些文件拉入(您可以在拉入它们之前检查它们最近是否已更改)。

我过去做过一些事情,我将它们存储在项目中,并对 API 的 GET 请求进行完整的 json 比较,或者使用文件来进行 POST。

POJO 是创建测试数据的好方法,但是您最终可以在项目中使用相当多的构建器,并且从文件中解析会更快。

如果您需要特定的代码示例,请告诉我。

【讨论】:

  • 代码示例将不胜感激。
猜你喜欢
  • 2016-03-13
  • 2012-10-19
  • 2010-10-15
  • 1970-01-01
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2015-04-29
相关资源
最近更新 更多