테스트 커버리지
커버리지
구현 코드가 얼마나 테스트됐는지 측정 지표
커버리지 수치가 높다고 반드시 품질이 좋은 것이 아니다
반대로 커버리지가 낮다는 것은 테스트가 부족하다는 신호
커버리지는 특정 파일에 테스트를 추가해야 하는지 검토하는 계기로 활용된다.
리포트 구성
Stmts
,Branch
,Funcs
,Lines
커버리지는 테스트를 실행했을 때 각 요소의 호출 여부를 백분율로 나타냄
파일명
구문 커버리지
분기 커버리지
함수 커버리지
라인 커버리지
커버되지 않은 라인
Stmts(구문 커버리지): 구현 파일에 있는 모든 구문이 적어도 한 번은 실행됐는지 나타냄
Branch(분기 커버리지): 구현 파일에 있는 모든 조건 분기가 적어도 한 번은 실행됐는지 나타냄
if
,case
,삼항연산자
를 사용한 분기가 측정 대상커버리지를 정량 지표로 사용할 때 중점적으로 활용하는 핵심 지표
Funcs(함수 커버리지): 구현 파일에 있는 모든 함수가 적어도 한 번은 호출됐는지 나타냄
프로젝트에서 실제로 사용하지 않지만
export
된 함수를 찾음
Lines(라인 커버리지): 구현 파일에 포함된 모든 라인이 적어도 한번은 통과됐는지 나타냄
커스텀 리포터
테스트 실행 결과는 여러 리포트를 통해 확인 가능
jest.config.ts
에 선호하는 리포터를 추가해보자.
jest-html-reporters
: 테스트 실행 결과를 그래프 형태로 보여줌시간이 많이 걸리는 테스트를 찾거나 정렬 기능이 있어 편리
실패한 테스트에는 목록의
Action
에[info]
버튼이 생김 -> 해당 테스트의 상세 정보 표시됨
그 외
jest-html-reporters
, 깃허브에는 테스트가 실패한 부분에 코멘트를 남기는 등 다양한 리포터 존재
Last updated