코드 적용 범위 보고서 보기

Android Gradle 플러그인은 테스트에서 커버하는 코드의 비율을 추적하는 코드 커버리지 보고서를 만들 수 있습니다. 이 페이지에서는 커버리지 보고를 사용 설정하고 보고서를 생성하는 방법을 설명합니다.

각 변형의 각 테스트 유형 (단위 및 계측)에 대한 커버리지 보고서를 생성할 수 있습니다. 다양한 테스트 유형, 모듈, 빌드 변형에 걸쳐 통합 커버리지 보고서를 생성할 수도 있습니다.

코드 커버리지 사용 설정

커버리지 보고서를 가져오려는 각 변형의 모듈 수준 빌드 파일에서 enableAndroidTestCoverageenableUnitTestCoveragetrue로 설정하여 코드 커버리지를 사용 설정해야 합니다.

Kotlin

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage = true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage = true
        }
    }
}

Groovy

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage true
        }
    }
}

Jacoco 버전 변경 (선택사항)

모듈에서 커버리지를 사용 설정하면 AGP가 Jacoco를 자동으로 적용합니다. 하지만 특정 버전의 Jacoco를 사용해야 하는 경우 모듈 수준 빌드 파일에서 이를 지정할 수 있습니다.

Kotlin

android {
    jacoco {
        version = "JACOCO_VERSION"
    }
}

Groovy

android {
    jacoco {
        version = 'JACOCO_VERSION'
    }
}

변형별 커버리지 보고서 생성

특정 변형의 단위 테스트 또는 계측 테스트에만 적용되는 커버리지 보고서를 생성하려면 해당하는 작업을 실행합니다.

테스트 유형 명령어 보고서 위치
단위 테스트 ./gradlew :module-name:createVariantNameUnitTestCoverageReport path-to-your-project/module-name/build/reports/coverage/test/variant/index.html
계측 테스트 ./gradlew :module-name:createVariantNameAndroidTestCoverageReport path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html

통합 코드 커버리지 보고서 생성

createCoverageReportcreateAggregatedCoverageReport Gradle 작업을 사용하여 통합 코드 커버리지 보고서를 생성할 수 있습니다. 이러한 작업을 사용하여 다양한 테스트 유형 (단위 및 계측), 모듈, 빌드 변형의 커버리지 데이터를 통합하는 단일 HTML 보고서를 생성할 수 있습니다. 이를 통해 단일 대시보드에서 프로젝트의 코드 커버리지를 포괄적으로 확인할 수 있습니다.

기본 요건

  • Android Gradle 플러그인 9.2.0-alpha07 이상

통합 보고서를 생성하려면 명령줄에서 다음 작업 중 하나를 실행합니다.

커버리지 범위 명령어 설명 보고서 위치
현재 모듈 ./gradlew :module-name:createCoverageReport 모든 테스트 유형의 데이터를 병합하여 현재 모듈의 통합 커버리지 보고서를 생성합니다. path-to-your-project/module-name/build/reports/code_coverage_html_report/
현재 모듈 및 종속 항목 ./gradlew :module-name:createAggregatedCoverageReport 현재 모듈과 모든 종속 항목의 통합 커버리지 보고서를 생성합니다. 이 작업은 게시가 사용 설정된 앱 모듈 및 라이브러리 모듈에 사용할 수 있습니다. path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/

생성된 HTML 보고서 방문 페이지에는 모든 모듈의 개략적인 요약이 표시됩니다. 모듈에서 패키지로, 패키지에서 클래스로, 클래스에서 소스 파일로 드릴다운할 수 있습니다. 파일을 클릭하면 줄 및 브랜치 커버리지에 강조표시된 코드가 표시됩니다.

  • 녹색: 커버된 줄
  • 빨간색: 커버되지 않는 줄
  • 노란색: 부분 커버리지 (일부 명령어 또는 브랜치 누락)