Jest Custom Matchers로 반복 테스트 코드 줄이는 설정 및 활용법
·2023.02.16 09:00
핵심 내용
Jest Custom Matchers를 설정해 반복적인 검증 로직을 줄이는 방법과 TypeScript 타입 정의 과정을 소개한다.
자세히 보기
테스트 코드 작성 시 반복적인 검증 로직은 유지보수 부담을 증가시킨다. 원문은 Input 컴포넌트의 disabled 상태 검증 시 100개의 클래스를 확인해야 하는 상황을 예로 들며, 이를 Custom Matcher로 해결하는 방법을 제시한다. 먼저 jest.config.js의 setupFilesAfterEnv에 커스텀 파일(jest.setup.js)을 등록하고, expect.extend를 통해 toContainAllClasses와 같은 커스텀 매처를 정의한다. 이 매처는 입력값의 타입을 검증하고, HTML 요소의 클래스 목록이 기대값을 모두 포함하는지 확인한 뒤 pass와 message를 반환한다. TypeScript 프로젝트의 경우 jest.d.ts 파일에 Matchers 인터페이스를 확장하여 타입을 정의하고 tsconfig.json에 포함시켜야 한다. 이를 적용하면 수십 줄의 반복 코드를 expect(input).toContainAllClasses(expectedClassList) 한 줄로 대체할 수 있다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.