테스트 커버리지 시각화

Tier: Free, Premium, Ultimate

Offering: GitLab.com, Self-Managed, GitLab Dedicated

GitLab CI/CD를 사용하면 즐겨 사용하는 테스트 또는 커버리지 분석 도구의 테스트 커버리지 정보를 수집하여 병합 요청(MR)의 파일 차이 보기에서 이 정보를 시각화할 수 있습니다. 이를 통해 MR이 병합되기 전에 어떤 라인이 테스트로 커버되었는지, 어떤 라인에 테스트 커버리지가 아직 필요한지를 확인할 수 있습니다.

테스트 커버리지 시각화 파일 차이 보기

GitLab은 두 가지 커버리지 보고서 형식을 지원합니다:

테스트 커버리지 시각화 작동 방식

커버리지 정보 수집은 GitLab CI/CD의 artifacts reports 기능을 사용하여 수행됩니다. 별표 경로를 포함하여 수집할 커버리지 보고서를 하나 이상 지정할 수 있습니다. 그런 다음 GitLab은 모든 파일의 커버리지 정보를 모아서 결합합니다. 커버리지 파일은 백그라운드 작업에서 구문 분석되므로 파이프라인 완료 후 페이지에서 시각화가 로드되기까지 지연될 수 있습니다.

데이터 만료

기본적으로, 병합 요청에서 시각화를 그리기 위해 사용되는 데이터는 생성 후 일주일 후에 만료됩니다.

자식 파이프라인에서의 커버리지 보고서

  • GitLab 15.1에 도입되었으며 기본적으로 비활성화된 ci_child_pipeline_coverage_reports라는 플래그로 제공됩니다.
  • GitLab 15.2에서 GitLab.com 및 Self-Managed에 활성화되었으며 ci_child_pipeline_coverage_reports 기능 플래그가 제거되었습니다.

자식 파이프라인 작업이 커버리지 보고서를 생성하는 경우 해당 보고서가 부모 파이프라인의 커버리지 보고서에 포함됩니다.

child_test_pipeline:
  trigger:
    include:
      - local: path/to/child_pipeline_with_coverage.yml