Pact.js - willRespondWith任意有序数组

时间:2017-09-21 12:12:52

标签: node.js microservices pact pact-node

我的消费者服务要求提供者服务提供所有用户的列表,但提供者使用任意有序列表进行回答(这很好)。消费者方面的协议执行看起来很好,但是当在提供者网站上执行它时,它会说: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);
                });
});

非常感谢提前!

1 个答案:

答案 0 :(得分:2)

目前尚未实现此功能,但我建议使用Pact.eachLike,它只会匹配类型。字段的实际值很少很重要。