- describe: 테스트 그룹
- it: 하나의 테스트 케이스
- beforeAll: describe 내 모든 테스트(it) 실행 전 한 번만 실행
- afterAll: describe 내 모든 테스트(it) 실행 후 한 번만 실행
- beforeEach: describe 내 모든 테스트(it) 실행 전마다 실행
- afterEach: describe 내 모든 테스트(it) 실행 후마다 실행
- expect: 실제 값과 기대값 비교
- spyOn: 객체의 특성 메서드를 감시, 호출여부/인자 등을 검사
- mockImplementation: mock 이나 spy 에 정의된 함수의 동작을 교체 (비동기 가능)
- mockRestore: spy 설정한 목데이터를 초기 상태로 변경
- mockClear: mock 의 호출 기록 clear (함수 구현은 유지)
- mockReset: 호출 기록과 모든 모의 설정 제거 (mock 을 빈 데이터로 만든다)
- mockRejectedValue: 비동기 함수를 쉽게 모킹하도록 (Promise 반환)
matcher
주요 matcher:
- toBeDefined: 값이 undefined가 아니면 통과(즉, 값이 뭔가 할당되어 있으면 성공)
- toBeUndefined: 값이 undefined일 때만 통과
- toBeNull: 값이 null일 때만 통과
- toBe: 값이 ===(엄격 동등) 비교로 일치할 때 통과
- toEqual: 객체/배열 등 구조까지 값이 같을 때 통과(깊은 비교)
- toBeTruthy: 값이 true로 평가될 때 통과(!!value가 true)
- toBeFalsy: 값이 false로 평가될 때 통과(!!value가 false)
- toBeGreaterThan: 값이 특정 값보다 클 때 통과(숫자 비교)
- toContain: 배열/문자열에 특정 값이 포함되어 있을 때 통과
testing library
- renderHook: 커스텀 훅을 테스트 환경에서 실행하는 함수
- act: 훅 내부에서 상태 변화가 있을 때 변화를 감싸 테스트 환경에 반영되도록