El complemento de Android para Gradle puede crear informes de cobertura de código que hacen un seguimiento del porcentaje de tu código que cubren las pruebas. En esta página, se describe cómo habilitar la generación de informes de cobertura y generar informes.
Puedes generar informes de cobertura para cada tipo de prueba (unidades e instrumentación) para cada variante. También puedes generar informes de cobertura unificados en diferentes tipos de pruebas, módulos y variantes de compilación.
Habilita la cobertura de código
Para habilitar la cobertura de código, configura enableAndroidTestCoverage y enableUnitTestCoverage como true en los archivos de compilación de nivel de módulo para cada variante de la que deseas obtener informes de cobertura:
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 } } }
Cambia la versión de Jacoco (opcional)
AGP aplica Jacoco automáticamente cuando habilitas la cobertura en tus módulos. Sin embargo, si necesitas usar una versión específica de Jacoco, puedes especificarla en el archivo de compilación de nivel de módulo:
Kotlin
android { jacoco { version = "JACOCO_VERSION" } }
Groovy
android { jacoco { version = 'JACOCO_VERSION' } }
Genera informes de cobertura específicos de la variante
Para generar informes de cobertura solo para pruebas de unidades o solo para pruebas instrumentadas para una variante específica, ejecuta las tareas correspondientes.
| Tipo de prueba | Comando | Ubicación desde la que se informó |
|---|---|---|
| Pruebas de unidades | ./gradlew :module-name:createVariantNameUnitTestCoverageReport |
path-to-your-project/module-name/build/reports/coverage/test/variant/index.html |
| Pruebas instrumentadas | ./gradlew :module-name:createVariantNameAndroidTestCoverageReport |
path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html |
Genera informes de cobertura de código unificados
Puedes generar informes de cobertura de código unificados con las tareas de Gradle createCoverageReport y createAggregatedCoverageReport. Puedes usar estas tareas para generar un solo informe HTML que consolide los datos de cobertura de diferentes tipos de pruebas (unidades e instrumentación), módulos y variantes de compilación.
Esto proporciona una vista integral de la cobertura de código de tu proyecto en un solo panel.
Requisitos previos
- Complemento de Android para Gradle 9.2.0-alpha07 o una versión más reciente
Para generar un informe unificado, ejecuta una de las siguientes tareas desde la línea de comandos:
| Alcance de la cobertura | Comando | Descripción | Ubicación desde la que se informó |
|---|---|---|---|
| Módulo actual | ./gradlew :module-name:createCoverageReport |
Genera un informe de cobertura unificado para el módulo actual y combina datos de todos los tipos de pruebas. | path-to-your-project/module-name/build/reports/code_coverage_html_report/ |
| Módulo actual y dependencias | ./gradlew :module-name:createAggregatedCoverageReport |
Genera un informe de cobertura unificado para el módulo actual y todas sus dependencias. Esta tarea está disponible para módulos de apps y módulos de bibliotecas con la publicación habilitada. | path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/ |
La página de destino del informe HTML generado muestra un resumen de alto nivel de todos los módulos. Puedes desglosar desde el módulo hasta el paquete, desde el paquete hasta la clase y desde la clase hasta el archivo fuente. Haz clic en cualquier archivo para ver el código con resaltado para la cobertura de líneas y ramas:
- Verde: Líneas cubiertas
- Rojo: Líneas no cubiertas
- Amarillo: Cobertura parcial (se omitieron algunas instrucciones o ramas)