1

我们目前在我们的 Spring Boot 应用程序中使用 Pact-Broker,我们的集成测试结果非常好。我们使用 Pact-Broker 的测试基于对 REST API 的调用,并将响应与我们提供程序中的值进行比较,始终使用 JSON 格式。我们的问题是要比较的值位于数据经常变化的数据库中,这使我们非常频繁地更新测试。

您知道是否可以仅通过数据类型进行验证?

我们想要尝试的是验证 JSON 格式是否正确以及数据类型是否匹配,例如,如果我们的 REST API 提供以下输出:

[
  {
    "action": "VIEW",
    "id": 1,
    "module": "A",
    "section": "pendingList",
    "state": null
  },
  {
    "action": "VIEW",
    "id": 2,
    "module": "B",
    "section": "finished",
    "state": null
  }
}
]

例如,我们想从之前的输出中验证以下内容:

  • JSON格式良好。
  • 所有的键/值对都存在于模型中。
  • 该值与特定数据类型匹配,例如,键操作存在于所有条目中并包含字符串数据类型。

您知道这是否可以通过 Pact-Broker 完成?我在文档中搜索,但没有找到任何有关如何执行此操作的示例。

提前非常感谢。

此致。

4

1 回答 1

0

绝对地!前 2 件事 Pact 总是会在没有任何额外工作的情况下完成。

你所说的被称为灵活匹配[1]。您不想匹配value,而是匹配类型(或正则表达式)。鉴于您使用的是 Spring Boot,您可能希望查看可用于 Pact JVM [2] 的各种匹配器。

我不确定你是不是这个意思,但为了清楚起见,Pact 和 Pact Broker 是分开的。Pact 是开源合同测试框架,而 Pact Broker [3] 是帮助与团队共享和协作这些合同的工具。

于 2019-11-05T02:38:44.373 回答