Jest에서는 toBe() 그리고 toEqual() 두 가지 함수가 있는데, 값을 비교한다라는 용도는 둘 다 같지만 작동 방식이 다르다
toBe()
해당 함수는 값이 같은지, 그리고 객체도 같은지(same)도 비교한다.
const a = { name: "ABC" };
const b = { name: "ABC" };
expect(a).toBe(b); // Failure
expect(a).toBe(a); // Success
JavaScript
복사
toEqual()
해당 함수는 값이 같은지(equal)만 비교한다.
const a = { name: "ABC" };
const b = { name: "ABC" };
expect(a).toEqual(b); // Success
expect(a).toEqual(a); // Success
JavaScript
복사
추가적으로 toStrictEqual() 이라는 함수도 있다. 말그대로 엄격하게 확인하는 함수인데, 값에 undefined 가 포함돼 있으면 실패로 처리한다.
const a = { name: "ABC" };
const b = { name: "ABC", address: undefined };
expect(a).toEqual(b); // Success
expect(a).toStrictEqual(b); // Failure
JavaScript
복사