Matcher(매처)란?
테스트 케이스에서 예상 결과와 실제 결과를 비교하고 검증하는 데 사용되는 함수들을 뜻하며
Matchers는 expect() 함수와 함께 사용되며, expect() 함수로 값에 대한 예상 결과와 실제 결과를 검사하는 역할을 합니다.
Jest는 다양한 Matcher를 제공하여 다양한 유형의 검증을 수행할 수 있도록 합니다.
다양한 Matcher
toBe()
- 값을 엄격하게(정확히) 비교합니다. 값과 데이터 유형이 정확히 일치해야 합니다.
1
| expect(result).toBe(3); // result의 값이 3과 정확히 일치해야 함
|
toEqual()
- 객체나 배열과 같은 복합 데이터 유형을 깊게 비교합니다.
1
| expect(result).toEqual(objectB); // result의 객체 내용이 깊게 일치해야 함
|
toMatch()
1
| expect(result).toMatch(/pattern/); // result의 문자열이 정규 표현식과 일치해야 함
|
toContain()
- 배열 또는 문자열 내에 특정 요소가 존재하는지 확인합니다.
1
| expect(result).toContain(item); // result 배열에 특정 항목이 포함되어야 함
|
toBeNull()
1
| expect(result).toBeNull(); // 값이 null이어야 함
|
toBeDefined()
1
| expect(result).toBeDefined(); // 값이 undefined가 아니어야 함
|
toBeTruthy() / toBeFalsy()
- 값이 true 또는 false인지 확인합니다.
1
2
| expect(result).toBeTruthy(); // 값이 true이어야 함
expect(result).toBeFalsy(); // 값이 false이어야 함
|
toBeGreaterThan() / toBeLessThan()
- 값이 특정 값보다 큰지 또는 작은지 확인합니다.
1
2
| expect(result).toBeGreaterThan(5); // 값이 5보다 커야 함
expect(result).toBeLessThan(10); // 값이 10보다 작아야 함
|
toHaveLength()
1
2
| expect(result).toHaveLength(3); // 배열의 길이가 3이어야 함
expect(result).toHaveLength(10); // 문자열의 길이가 10이어야 함
|
마치며
혹시 잘못된 정보나 궁금하신 게 있다면 편하게 댓글 달아주세요.
지적이나 피드백은 언제나 환영입니다.