Jest 에서 쓰이는 toBe() 와 === 를 비교한다.
둘은 사실상 거의 같은데 약간의 차이가 있다.
toBe는 내부적으로 Object.is()
메소드를 사용한다.
Operand | toBe() | === |
---|---|---|
+0 과 -0 | false | true |
Nan | true | false |
describe('toBe vs ===', ()=>{
test('Compare NaN', ()=>{
const nanValue = NaN
expect(NaN).toBe(NaN)
// always to be 'false'
expect(NaN === NaN).toBeFalsy()
})
test('Compare +0 -0', ()=>{
expect(+0).not.toBe(-0)
expect(+0 === -0).toBeTruthy()
})
})
===와 유사하다. Primitive type 비교시 사용
동일성 검사
==와 유사하다.
동등성 검사