我的消费者服务要求提供者服务提供所有用户的列表,但提供者使用任意有序列表进行回答(这很好)。消费者方面的协议执行看起来很好,但是当在提供者网站上执行它时,它会说:Expected "user1" but got "user3" at $.items[0].userName
例如。{/ p>
这是互动的片段:
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);
});
});
非常感谢提前!
答案 0 :(得分:2)
目前尚未实现此功能,但我建议使用Pact.eachLike
,它只会匹配类型。字段的实际值很少很重要。