基于数据类型而不是数据值的契约使用者/提供者

问题描述 投票:0回答: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格式正确。
  • 所有键/值对都基于模型存在。
  • 该值匹配特定的数据类型,例如,键action存在于所有条目中,并且包含字符串数据类型。

您知道使用Pact-Broker能否做到这一点吗?我在文档中进行搜索,但未找到任何操作方法的示例。

非常感谢。

最诚挚的问候。

json pact pact-broker
1个回答
0
投票

绝对! Pact的前两件事将永远做而无需任何额外的工作。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.