작성
·
137
답변 1
0
안녕하세요 !!
expect("1").toEqual("1")은 아마 어디 설정이 잘못 되어 있는게 아닌가 싶습니다 !
원시 타입 데이터(primitive type)를 비교할 때는 toBe와 toEqual을 써도 차이가 없습니다.
하지만 참조 타입 데이터(reference type)를 비교할 때는 차이가 나는데 우선 예를 보겠습니다.
이거는 잘 Pass가 됩니다.
하지만 이렇게 되면 FAIL이 나옵니다.
그 이유는 toBe 나 toStricEqaul은 Deep Equality Check 을 하기 때문입니다.
더 딥하게 체크를하는거죠 !
이렇게 하면 또 성공을 합니다!
그 이유는 a와 b는 비록 객체안에 내용은 같지만 메모리안에 객체를 저장할 때 그 인스턴스는 서로 다르기 떄문입니다. 하지만 a와 c는 같습니다. 그러기에 toBe를 사용해서 Deep Equality Check을 해도 PASS하게 됩니다.
수고하세요 !!!
우와 자세한 답변 감사합니당