我正在努力pact,我經常看到在合同測驗部分對請求的回應進行斷言的示例,例如
test('Check endpoint for post questions on success', async () => {
await provider.addInteraction(…);
const response = await createQuestion(…);
expect(response.status).toBe(201); // <------------
});
問題
對于合同測驗,在請求的回應中添加此類斷言是否有附加價值?或者宣告互動嵌入了合同測驗的全部價值。
uj5u.com熱心網友回復:
簡而言之,沒有。
我不會親自做這個斷言,因為只是檢查的是 Pact 做了你要求它做的事情 - 即測驗模擬。
將 Pact 測驗視為您的 API 客戶端的單元測驗,恰好也產生了一個合同。
因此,檢查正在測驗的 API 客戶端的行為更為重要,Pact 稍后會實際檢查提供者的真實回應。
在您的情況下,我希望createQuestion回傳一些有用的資料(或可能是Question域模型),因此您應該檢查該物件是否正確。例如
const question = await createQuestion(...);
expect(question.id).toBeDefined();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/411670.html
標籤:
