茉莉花.js比较阵列

2022-08-30 00:57:42

茉莉花中有没有办法.js检查两个数组是否相等,例如:

arr = [1, 2, 3]
expect(arr).toBe([1, 2, 3])
expect(arr).toEqual([1, 2, 3])

两者似乎都不起作用。


答案 1

刚刚做了测试,它的工作原理toEqual

请找到我的测试:

http://jsfiddle.net/7q9N7/3/

describe('toEqual', function() {
    it('passes if arrays are equal', function() {
        var arr = [1, 2, 3];
        expect(arr).toEqual([1, 2, 3]);
    });
});

仅供参考:

toBe() 与 toEqual(): toEqual() 检查等价性。另一方面,toBe() 确保它们是完全相同的对象。


答案 2

如果数组具有一些值,则可以比较下面提到的数组

it('should check if the array are equal', function() {
        var mockArr = [1, 2, 3];
        expect(mockArr ).toEqual([1, 2, 3]);
 });

但是,如果从某个函数返回的数组具有多个 1 个元素,并且所有元素都为零,则使用

expect(mockArray[0]).toBe(0);