Jasmine JavaScript 測試-toBe 與 toEqual
陣列可以用 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]); }); });
輸出
這將輸出 -
1) 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
廣告