0

我已经为 Pact-Contract 测试制作了演示应用程序。以下是我提到的链接。我已经改变了一些东西,比如patternmatcher和bodytype。 https://www.javacodegeeks.com/2017/03/consumer-driven-testing-pact-spring-boot.html

我能够从消费者那里发布协议并从提供者端进行验证。

我也被要求从消费者端核实协议。例如,消费者在 json 之后向提供者发布以创建新用户。

  {
  "address": {
    "city": "string",
    "houseNumber": 0,
    "postalCode": "string",
    "street": "string"
  },
  "name": "string",
  "registrationId": 0,
  "surname": "string"
}

但是现在消费者改变了模型类。(因为它也是其他一些服务的提供者。可能会收到更改合同的请求)。以下是将生成的新请求 json。

{
  "address": {
    "city": "string",
    "houseNumber": 0,
    "postalCode": "string",
    "street": "string"
  },
  "firstname": "string",
  "registrationId": 0,
  "surname": "string"
}

随着请求对象的改变。如果我根据协议验证消费者。它应该失败。

问题:当我从消费者运行 mvn:verify 时,它总是可以的。我希望它失败。

PS让我知道这是否是不正确的做法。

4

1 回答 1

0

消费者测试类似于单元测试。如果您的代码在测试中符合您的预期,它将始终通过。它不依赖于先前的状态(例如先前生成的合约)。

检查重大更改的过程部分是在 CI 中使用我可以部署工具 ( https://docs.pact.io/pact_broker/can_i_deploy )。

于 2020-08-15T22:38:15.863 回答