Android Gradle 플러그인은 테스트에서 다루는 코드의 비율을 추적하는 코드 적용 범위 보고서를 만들 수 있습니다. 이 페이지에서는 적용 범위 보고를 사용 설정하고 보고서를 생성하는 방법을 설명합니다.
각 변형의 각 테스트 유형 (단위 및 계측)에 적용 범위 보고서를 생성할 수 있습니다. 다양한 테스트 유형, 모듈, 빌드 변형에 걸쳐 통합 적용 범위 보고서를 생성할 수도 있습니다.
코드 적용 범위 사용 설정
적용 범위 보고서를 가져오려는 각 변형의 모듈 수준 빌드 파일에서 enableAndroidTestCoverage 및 enableUnitTestCoverage를 true로 설정하여 코드 적용 범위를 사용 설정해야 합니다.
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 { testCoverage { jacocoVersion = "JACOCO_VERSION" } }
Groovy
android { testCoverage { jacocoVersion = '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 |
통합 코드 적용 범위 보고서 생성
testAllSuites
및 testAllSuitesWithDependencies Gradle 작업을 사용하여 통합 코드 적용 범위 보고서를 생성할 수 있습니다. 이러한 작업은 다양한 테스트 유형(단위 및 계측), 모듈, 빌드 변형의 적용 범위 데이터를 통합하는 단일 HTML 보고서를 생성합니다. 이를 통해 단일 대시보드에서 프로젝트의 코드 적용 범위를 포괄적으로 확인할 수 있습니다.
기본 요건
- Android Gradle 플러그인 9.5.0-alpha05 이상
- 코드 적용 범위 사용 설정
통합 보고서를 생성하려면 명령줄에서 다음 작업 중 하나를 실행합니다.
| 적용 범위 | 명령어 | 설명 | 보고서 위치 |
|---|---|---|---|
| 현재 모듈 | ./gradlew :module-name:testAllSuites --continue |
모든 테스트 모음을 테스트하고 모든 테스트 유형의 데이터를 병합하여 현재 모듈의 통합 적용 범위 보고서를 생성합니다. | path-to-your-project/module-name/build/reports/testAllSuites/coverage-report/ |
| 현재 모듈 및 종속 항목 | ./gradlew :module-name:testAllSuitesWithDependencies --continue |
모든 테스트 모음을 테스트하고 현재 모듈과 모든 종속 항목의 통합 적용 범위 보고서를 생성합니다. 이 작업은 게시가 사용 설정된 앱 모듈 및 라이브러리 모듈에 사용할 수 있습니다. | path-to-your-project/module-name/build/reports/testAllSuitesWithDependencies/coverage-report/ |
생성된 HTML 보고서 방문 페이지에는 모든 모듈의 고급 요약이 표시됩니다. 모듈에서 패키지로, 패키지에서 클래스로, 클래스에서 소스 파일로 드릴다운할 수 있습니다. 파일을 클릭하여 줄 및 브랜치 적용 범위에 강조표시된 코드를 확인합니다.
- 녹색: 적용된 줄
- 빨간색: 적용되지 않은 줄
- 노란색: 부분 적용 범위 (일부 명령어 또는 브랜치 누락)