协议-合同测试-根据合同验证消费者和生产者

问题描述

我已经为契约合同测试提供了演示应用程序。我引用了以下链接。我已经改变了一些东西,例如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","firstname": "string","surname": "string"
}

随着请求对象的改变。如果我验证消费者是否违反条约。它应该失败。

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

P.S。让我知道这样做是否正确。

解决方法

使用者测试类似于单元测试。如果您的代码达到了测试中的预期,它将始终通过。它不依赖于先前的状态(例如先前生成的合同)。

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