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