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
}
}
]
例如,我们想从之前的输出中验证以下内容:
- JSON格式正确。
- 模型中存在所有键/值对。
- 该值匹配特定的数据类型,例如键action存在于所有条目中并且包含字符串数据类型。
您知道这是否可以通过 Pact-Broker 实现吗?我在文档中进行了搜索,但没有找到任何有关如何执行此操作的示例。
非常感谢。
此致。
当然!前两件事 Pact 总是会做的,不需要任何额外的工作。
你说的是灵活匹配[1]。您不想匹配 value,而是 type(或正则表达式)。鉴于您正在使用 Spring Boot,您可能需要查看可用于 Pact JVM [2] 的各种匹配器。
我不确定你是不是这个意思,但为了清楚起见,Pact 和 Pact Broker 是不同的东西。 Pact 是开源合同测试框架,而 Pact Broker [3] 是一种工具,可帮助与团队共享和协作这些合同。
我们目前在 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
}
}
]
例如,我们想从之前的输出中验证以下内容:
- JSON格式正确。
- 模型中存在所有键/值对。
- 该值匹配特定的数据类型,例如键action存在于所有条目中并且包含字符串数据类型。
您知道这是否可以通过 Pact-Broker 实现吗?我在文档中进行了搜索,但没有找到任何有关如何执行此操作的示例。
非常感谢。
此致。
当然!前两件事 Pact 总是会做的,不需要任何额外的工作。
你说的是灵活匹配[1]。您不想匹配 value,而是 type(或正则表达式)。鉴于您正在使用 Spring Boot,您可能需要查看可用于 Pact JVM [2] 的各种匹配器。
我不确定你是不是这个意思,但为了清楚起见,Pact 和 Pact Broker 是不同的东西。 Pact 是开源合同测试框架,而 Pact Broker [3] 是一种工具,可帮助与团队共享和协作这些合同。