Jest Coverage

이건선·2023년 5월 16일
0

해결

목록 보기
35/48

테스트 커버리지는 코드의 어느 부분이 테스트에 의해 실행되었는지를 측정하는 지표다.


npx jest --coverage

명령어를 실행하면 주로 아래와 같은 요소들을 측정하는데

------------------|---------|----------|---------|---------|-------------------
File              | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                                                                                           
------------------|---------|----------|---------|---------|-------------------
  • Statement coverage

    • 코드의 각 구문이 얼마나 테스트되었는지
  • Branch coverage

    • if/else, switch 등의 분기점이 얼마나 테스트되었는지
  • Function coverage

    • 각 함수나 메서드가 얼마나 테스트되었는지
  • Line coverage

    • 각 코드 라인이 얼마나 테스트되었는지


    테스트 커버리지가 100%라는 것은 모든 코드가 테스트에 의해 최소 한 번은 실행되었음을 의미한다.

    하지만 테스트 커버리지가 높다고 해서 그것이 무조건적으로 좋은 것은 아니다. 테스트 커버리지는 테스트가 얼마나 완벽하게 수행되었는지에 대한 정보를 제공하지 않는다.

    테스트 커버리지가 높더라도 각 테스트의 질이 떨어지면, 실제로는 중요한 버그를 발견하지 못할 수 있으므로 주의하자.

    또한, 높은 커버리지를 갖기 위해 필요 이상으로 많은 시간과 노력을 투자하는 것은 효율적이지 않을 수 있고, CI 과정에 테스트가 있다면 기존의 로직를 변경하고 테스트 코드를 변경하지 않았을 때 어려움을 겪을 수 있으므로 주의하자.

profile
멋지게 기록하자

0개의 댓글