簡體   English   中英

Pact - 合同測試 - 根據合同驗證消費者和生產者

[英]Pact - contract testing - verify consumer and producer against contract

我已經為 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"
}

但現在消費者更改了 model 類。 (因為它也是其他一些服務的提供者。可能會收到更改合同的請求)。 以下是將生成的新請求 json。

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

隨着請求 object 發生變化。 如果我根據協議驗證消費者。 它應該失敗。

問題:當我從消費者運行 mvn:verify 時,它總是可以的。 我希望它失敗。

PS讓我知道這是否是不正確的做法。

消費者測試類似於單元測試。 如果您的代碼在測試中符合您的預期,它將始終通過。 它不依賴於之前的 state(例如之前生成的合約)。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM