InfoGrab DocsInfoGrab Docs

커버리지 시각화

머지 리퀘스트 diff에서 라인별 코드 커버리지 어노테이션을 표시하는 커버리지 시각화 기능의 구성 방법과 경로 해석, 문제 해결 방법을 설명합니다.

커버리지 시각화 # - Tier: Free, Premium, Ultimate - Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated artifacts:reports:coverage_report 키워드를 사용하여 머지 리퀘스트 diff에 라인별 커버리지 어노테이션을 표시합니다. 이 키워드는 diff 어노테이션만 표시합니다. MR 위젯에 커버리지 비율을 표시하거나 커버리지 히스토리 그래프를 채우지는 않습니다. 커버리지 비율을 표시하려면 coverage 키워드를 별도로 구성해야 합니다. 파이프라인이 완료된 후, GitLab은 백그라운드에서 리포트를 처리하고 MR diff의 라인에 어노테이션을 표시합니다: 녹색: 테스트로 커버된 라인입니다. 빨간색: 테스트로 커버되지 않은 라인입니다. 주황색 (Cobertura 전용): 로드되었지만 한 번도 실행되지 않은 라인입니다. 어노테이션은 MR diff에서 변경된 파일에만 표시됩니다. MR에서 변경되지 않은 파일은 리포트에 해당 파일의 커버리지 데이터가 포함되어 있더라도 어노테이션이 표시되지 않습니다. 커버리지 시각화 구성 # 커버리지 시각화를 구성하려면 job에 artifacts:reports:coverage_report 를 추가합니다: test: script: - run tests with coverage artifacts: reports: coverage_report: coverage_format: cobertura # or jacoco path: coverage/coverage.xml 언어별 예시는 다음을 참고하세요: Cobertura JaCoCo 여러 리포트를 수집하려면 아티팩트 경로에 와일드카드 를 사용합니다. GitLab은 결과를 하나의 리포트로 병합합니다. 하위 파이프라인의 커버리지 리포트는 MR diff 어노테이션에 표시됩니다. 제한 사항 # 제한 값 최대 Cobertura XML 파일 크기 10 MiB Cobertura XML 파일 내 최대 <source> 노드 수 100 Cobertura 리포트가 100개의 <source> 노드를 초과하면, diff 뷰에서 어노테이션이 누락되거나 잘못 매칭될 수 있습니다. 대규모 프로젝트의 경우 리포트를 더 작은 파일로 분할하세요. 자세한 내용은 이슈 328772 를 참고하세요. 시각화는 파이프라인이 완료된 후에만 표시됩니다. 파이프라인에 차단 수동 job 이 있으면 해당 job이 실행될 때까지 시각화를 사용할 수 없습니다. job 세부 정보 페이지에서 커버리지 리포트를 다운로드하려면 reports 뿐만 아니라 아티팩트 paths 에도 추가합니다: artifacts: paths: - coverage/cobertura-coverage.xml reports: coverage_report: coverage_format: cobertura path: coverage/cobertura-coverage.xml 경로 해석 # 커버리지 리포트는 상대 파일 경로를 사용합니다. GitLab은 MR