簡體   English   中英

如何使用 null 數據測試協議

[英]How to test pact with null data

我知道 PACT 期望提供者數據需要在我們的控制之下,但我面臨以下情況我有多個消費者的契約合同,都有一些強制屬性和一些可選屬性,但業務邏輯抑制了所有屬性具有 null 的價值,但根據合同,我仍然需要該價值作為 null,我應該怎么做? 編輯 1:即讓我們在下面說我的合同看起來

consumer sent request with below params:
{ "method": "GET", "path" : "/pathOfApi", "headers":{ "accept": "json" } }

供應商回復以下數據:

{ "Status": 200,
"body" :[
{"country" : "string",
"countryId" :"string",
"postalcode": "string",
"addressLine1" :"string",
"addressLine2" : "string"
"customerName" : "string",
"customerId" : "string"
}
]

現在不是所有客戶都有地址行 2,現在在生產中如果地址行 2 是 null 它不會出現在 api 的 output 中,但對於我們的合同字段應該出現在 null 中

如果您的提供者沒有返回一個字段,但消費者期望null ,那么消費者需要改變他們的期望(因為它不正確)或者提供者應該更新其實現以返回null值。

僅僅因為消費者提出要求並不意味着您需要這樣做!

如果在某些情況下該字段存在而其他情況下不存在,則您需要編寫兩個測試來涵蓋每種情況。 我建議在一個案例中包含所有字段,在另一個案例中包含最少的字段集(請參閱https://docs.pact.io/faq/#why-is-there-no-support-for-specifying-可選屬性)。

暫無
暫無

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

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