본문 바로가기
프로그래밍/자바스크립트

[React] 테스트 프레임웍 jest (3/4) - jest Matchers

by pentode 2023. 6. 17.

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);
}

 

반응형