Jasmine.js 数组比较
数组可以通过 2 种方式进行比较 −
它们引用内存中相同的数组对象。
它们可能引用不同的对象,但其内容全部相等。
对于情况 1, jasmine 提供 toBe 方法。此方法检查引用。比如,
示例
describe("Array Equality", () => { it("should check for array reference equility", () => { let arr = [1, 2, 3]; let arr2 = arr // Runs successfully expect(arr).toBe(arr2); // Fails as references are not equal expect(arr).toBe([1, 2, 3]); }); });
输出
将产生以下输出 −
Array Equality should check for array equility Message: Expected [ 1, 2, 3 ] to be [ 1, 2, 3 ]. Tip: To check for deep equality, use .toEqual() instead of .toBe().
对于情况 2,我们可以使用 toEqual 方法并对数组进行深入比较。比如,
示例
describe("Array Equality", () => { it("should check for array reference equility", () => { let arr = [1, 2, 3]; let arr2 = arr; // Runs successfully expect(arr).toEqual(arr2); // Runs successfully expect(arr).toEqual([1, 2, 3]); }); });
输出
将产生以下输出 −
1 spec, 0 failures
广告