jest에서 값을 테스트하는데 사용하는 함수가 Matcher입니다. 많은 Matcher들이 있지만 자주 사용하는것 몇가지만 알아봅니다. 전체 내용은 jest 공식 홈페이지의 Expect DOC에서 찾을 수 있습니다
1. Expect
- expect(value) : 테스트할때 매쳐와 함께 사용됩니다. 테스트 하고자 하는 값을 받고, matcher를 이용해 기대값과 비교합니다.
test('1 + 2는 3', () => {
// 더하기 함수 add(1, 2)의 결과가 3이면 성공입니다.
expect(add(1, 2)).toBe(3);
}
2. Matchers
- toBe( value) : 완전히 일치하는지 테스트 합니다. 기본타입의 값과 객체 인스턴스의 참조 ID가 같은지 확인합니다.
- toEqual( value ) : 객체 인스턴스의 모든 속성을 재귀적으로 비교하여 확인합니다.
- toBeGreaterThan( number | bigint ), toBeGreaterThanOrEqual( number | bigint ), toBeLessThan( number | bigint ), toBeLessThanOrEqual( number | bigint ) : 숫자의 대소를 확인합니다.
- toBeNull(), toBedefined(), toBeUndefined() : null, definded, undefined을 확인합니다.
- toBeTruthy(), toBeFalsy() : 참과 거짓을 확인합니다.
- toMatch( regexp | string ) : 정규식을 사용하여 확인합니다.
- toContain( item ) : 배열이나 iterable에 item이 포함되어 있는지 확인합니다.
- toThrow( error? ) : 특정 함수가 호출될때 에러가 발생하는지 확인합니다.
3. Modifiers(수식어)
- .not : 반대의 기대값을 테스트 합니다.
test('1 + 2는 2가 아니다.', () => {
// 더하기 함수 add(1, 2)의 결과가 2가 아니면 성공.
expect(add(1, 2)).not.toBe(2);
}
'프로그래밍 > 자바스크립트' 카테고리의 다른 글
React 프로젝트 copy해서 옮기기 (0) | 2023.06.20 |
---|---|
[TypeScript] 타입 선언 ( : type )과 타입 단언( as type ) (0) | 2023.06.19 |
[React] 테스트 프레임웍 jest (2/4) - jest API (0) | 2023.06.13 |
[React] 테스트 프레임웍 jest (1/4) - 샘플 프로젝트 만들기 (0) | 2023.06.05 |
[React] 생명주기(Lifecycle)과 Error Boundary (0) | 2023.06.05 |