gpt4 book ai didi

javascript - 是否有任何 Jest 匹配器来比较 Array

转载 作者:行者123 更新时间:2023-12-04 08:40:05 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I compare two collections in Jest ignoring element order?

(4 个回答)


10 个月前关闭。




我正在尝试测试两个对象数组是否完全相等,尝试使用 toEqual 匹配器,但似乎它只适用于字符串数组,Jest 中是否有任何匹配器可以满足条件。请不要将此标记为重复,我没有找到明确的答案。

const arr1 = [{name: 'sam', degree: 'engineer', age: '23'}, {name: 'jane', degree: 'accounts', age: '25'}]
const arr2 = [{name: 'jane', degree: 'accounts', age: '25'},{name: 'sam', degree: 'engineer', age: '23'}]

expect(arr1).toEqual(arr2) // should pass the testcase

最佳答案

您可以将其解析为一系列期望。

expect(arr1).toBeArray();
expect(arr2).toBeArray();
expect(arr1).toBeArrayOfSize(arr2.length);
expect(arr2).toBeArrayOfSize(arr1.length);
next 循环每个数组并检查第二个是否包含它的元素
arr1.forEach(item => {
expect(arr2).toContain(item);
});
arr2.forEach(item => {
expect(arr1).toContain(item);
});

关于javascript - 是否有任何 Jest 匹配器来比较 Array<Objects>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64617992/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com