Search
Duplicate

Jest toBe(), toEqual() 차이

Created
2021/06/03 12:17
tags
🌐JavaScript
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
복사