Jasmine.js 比较数组
javascriptfront end technologyobject oriented programming
数组可以用 2 种方式进行比较 −
它们引用内存中的同一个数组对象。
它们可能引用不同的对象,但它们的内容都是相等的。
对于情况 1,jasmine 提供了 toBe 方法。这将检查引用。例如,
示例
describe("数组相等", () => { it("应该检查数组引用相等性", () => { let arr = [1, 2, 3]; let arr2 = arr // 成功运行 expect(arr).toBe(arr2); // 由于引用不相等而失败 expect(arr).toBe([1, 2, 3]); }); });
输出
这将给出输出 −
数组相等性应该检查数组相等性 消息: 预期 [ 1, 2, 3 ] 为 [ 1, 2, 3 ]。提示:要检查深度相等性,请使用 .toEqual() 而不是 .toBe()。
对于情况 2,我们可以使用 toEqual 方法并深度比较数组。例如,
示例
describe("数组相等性", () => { it("应该检查数组引用相等性", () => { let arr = [1, 2, 3]; let arr2 = arr; // 成功运行 expect(arr).toEqual(arr2); // 成功运行 expect(arr).toEqual([1, 2, 3]); }); });
输出
这将给出输出 −
1 spec, 0 failures