我的消費者服務向提供者服務請求所有用戶的列表,但提供者使用任意有序列表(這很好)回答。消費者方面的契約執行看起來很好,但是在提供者網站上執行時,它說:Expected "user1" but got "user3" at $.items[0].userName
例如。Pact.js - willRespondWith任意有序數組
這是相互作用的一個片段:
willRespondWith: {
status: 200,
headers: { "Content-Type": "application/json; charset=utf-8" },
body: {
items: [
{ userName: "user1" },
{ userName: "user2" },
{ userName: "user3" },
],
},
},
有沒有辦法忽略返回的項目順序?
此外,我的摩卡測試似乎沒有影響比較。我也嘗試訂購這兩個陣列,但沒有任何幫助。 (互動和摩卡測試)如何連接?
it("Should generate a list of users in the system", async function() {
await userServiceClient.getUsers()
.then((users) => {
expect(users).to.include.members(EXPECTED_USERS_ARRAY);
});
});
非常感謝提前!
請問比較名稱順序以確保它是正確的有什麼好處? –
只需確保您要求的每個用戶都在系統中。這並不重要,因爲我們在這裏談論測試。我只是想知道是否有這樣的功能。然後它會比下面描述的方式更容易一些。 – shellmann