코드 커버리지(Code coverage)

코드 커버리지(Code coverage)

Merge Request(MR)에서 코드 커버리지를 추적하고 싶다면, MR 위젯에 백분율을 표시하거나 MR diff에서 개별 라인을 주석 처리하는 두 가지 방법이 있어요. 두 출력을 각각 켜려면 별도의 키워드가 필요하답니다.

출처: 문서

본문

  • 티어(Tier): Free, Premium, Ultimate
  • 제공 방식(Offering): GitLab.com, GitLab Self-Managed, GitLab Dedicated
출력 키워드
MR 위젯, 파이프라인 목록, 분석 그래프에 커버리지 백분율 표시 coverage
MR diff에서 라인별 주석 표시 artifacts:reports:coverage_report

두 출력을 모두 얻으려면 두 키워드를 모두 설정하면 돼요.

커버리지 리포팅(Coverage reporting)

커버리지 리포팅은 테스트 도구의 job 로그 출력에서 백분율을 추출해요. coverage 키워드에 정규 표현식을 정의하면, GitLab이 job 로그를 스캔해서 처음 일치하는 숫자를 추출해 저장해 둡니다.

GitLab은 이 값을 다음 위치에 표시해요:

  • MR 위젯 — 대상 브랜치와의 차이(delta)를 포함해 보여줍니다.
  • 파이프라인 job 목록.
  • Analyze > Repository analytics의 프로젝트별·그룹별 커버리지 이력 그래프.
  • 커버리지 배지(badge).
  • Coverage-Check 승인 규칙(Premium 및 Ultimate) — 커버리지가 떨어지면 승인이 필요하게 만들 수 있어요.

설정 방법은 커버리지 리포팅 구성 문서를 참고하세요.

커버리지 시각화(Coverage visualization)

커버리지 시각화는 테스트 job이 CI/CD 아티팩트로 업로드한 Cobertura 또는 JaCoCo XML 리포트를 파싱해요. 파이프라인이 완료된 뒤 GitLab이 백그라운드에서 리포트를 처리하고 MR diff의 라인에 주석을 답니다.

주석은 MR diff에서 변경된 파일에만 나타나요. MR에서 변경되지 않은 파일은 리포트에 커버리지 데이터가 있더라도 주석이 붙지 않습니다.

설정 방법은 커버리지 시각화 구성 문서를 참고하세요.

더 알아보기 (Learn more)