0

我的消费者服务向提供者服务询问所有用户的列表,但提供者以任意有序列表回答(这很好)。消费者端的协议执行看起来不错,但是在提供者站点上执行它时,它说:Expected "user1" but got "user3" at $.items[0].userName例如。

这是交互的片段:

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);
                });
});

提前谢谢了!

4

1 回答 1

3

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

于 2017-09-21T23:32:38.447 回答