Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

배열을 비교하는 Jasmine.js

<시간/>

배열은 두 가지 방법으로 비교할 수 있습니다 -

  • 메모리에 있는 동일한 배열 개체를 참조합니다.

  • 그것들은 다른 개체를 참조할 수 있지만 그 내용은 모두 동일합니다.

사례 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