当结果列表的顺序发生变化时,我对在一个环境中传递而在另一个环境中失败的对象列表进行断言的开 Jest 单元测试。我正在寻找一些 assertCountEqual
(python) 等效于 jest
图书馆。我愿意提供任何帮助。
我尝试添加 sort()
我的断言,但列表中有自定义对象,它并不简单:expect(list1.sort()).toEqual(list2.sort());
最佳答案
Jest
不支持此类断言,但您可以编写自己的函数:
function customFieldCompare(a, b){
const customField1= a.customField;
const customField2= b.customField;
if (customField1 > customField2) {
return -1;
}
if (customField2 > customField1) {
return 1;
}
return 0;
}
可以和简单的
expect toEqual
一起使用expect(list1.sort(customFieldCompare)).toEqual(list2.sort(customFieldCompare));
assertCountEqual
function customAssertCountEqual(array1, array2){
expect(array1.length).toEqual(array2.length);
array1.forEach(function (arrayItem) {
expect(array2).toContainEqual(arrayItem)
});
}
关于javascript - javascript unittests jest 库中是否有 assertCountEqual 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58833407/