【问题标题】:Pact Consumer / Provider based in data type and not in data value基于数据类型而不是数据值的 Pact Consumer / Provider
【发布时间】:2019-11-05 10:38:44
【问题描述】:

我们目前在我们的 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】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 2021-04-18
      • 1970-01-01
      相关资源
      最近更新 更多