Pact Consumer / Provider 基于数据类型而不是数据值

Pact Consumer / Provider based in data type and not in data value

我们目前在 Spring 启动应用程序中使用 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
  }
}
]

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

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

非常感谢。

此致。

当然!前两件事 Pact 总是会做的,不需要任何额外的工作。

你说的是灵活匹配[1]。您不想匹配 value,而是 type(或正则表达式)。鉴于您正在使用 Spring Boot,您可能需要查看可用于 Pact JVM [2] 的各种匹配器。

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