본문 바로가기
TIL

TIL #23) 커버리지 보고서

by 해룸 2024. 2. 22.

Today I Learned

 

커버리지를 이용하면 jest 테스트 코드 보기가 편하다는데,, 커버리지가 대체 뭔데 그런 도움을 준다는거죠? 라는 의문이 들어 찾아보게 되었다.

 

Jest 커버리지 보고서란 저 사진의 모습으로 정리된!! 보기좋은 모습의 보고서를 말한다.

  1. % Stmts (문장 커버리지 비율):
    • 코드 파일에서 테스트된 코드 문장의 비율을 나타냅니다.
    • 예를 들어, 80%의 문장 커버리지는 코드 파일에서 100줄 중 80줄이 테스트되었음을 의미합니다.
  2. % Branch (분기 커버리지 비율):
    • 코드 파일에서 테스트된 분기(조건 분기)의 비율을 나타냅니다.
    • 예를 들어, 75%의 분기 커버리지는 코드 파일에서 100개의 조건 분기 중 75개가 테스트되었음을 의미합니다.
  3. % Funcs (함수 커버리지 비율):
    • 코드 파일에서 테스트된 함수의 비율을 나타냅니다.
    • 예를 들어, 90%의 함수 커버리지는 코드 파일에서 10개의 함수 중 9개가 테스트되었음을 의미합니다.
  4. % Lines (라인 커버리지 비율):
    • 코드 파일에서 테스트된 라인의 비율을 나타냅니다.
    • 예를 들어, 95%의 라인 커버리지는 코드 파일에서 100줄 중 95줄이 테스트되었음을 의미합니다.
  5. Uncovered Line #s (테스트되지 않은 라인의 번호들):
    • 테스트되지 않은 코드 라인의 번호를 나타냅니다.
    • 이는 어떤 부분이 테스트되지 않았는지를 식별하기 위한 정보로 사용됩니다.
    • 예를 들어, "10, 20, 30"은 코드 파일에서 10번, 20번, 30번 라인이 테스트되지 않았음을 의미합니다.

이런 커버리지 지표는 테스트가 코드의 얼마나 많은 부분을 충분히 다루고 있는지 평가하는데 도움이 된다.

높은 커버리지 비율은 코드의 안정성과 품질을 나타낼수있지만, 단순히 커버리지가 높다고해서 완벽한 코드라고 말할수는 없다. 테스트 케이스의 품질과 다양성도 중요한 요소이다. 

그리고 튜터님의 말에 의하면 커버리지가 80% 이상이면 이상적이라고 할수있다고 한다.