Jacoco convierte cobertura.ec a informes sin cobertura.em
Pude obtener el informe de cobertura de código siguiendo los pasos a continuación,
-
Habilitar cobertura en el tipo de compilación que desea (por ejemplo, depurar)
- Android Gradle Jacoco: instrumentación offline para pruebas de integración
- Java.lang.NoClassDefFoundError: Resolución fallida de: Lorg / jacoco / agent / rt / internal_14f7ee5 / Desconectado
- Jacoco Android createDebugCoverageReport no encontrado
- Cobertura de código en Android Studio con Sonar & Gradle
- Combine la cobertura jacoco de androidTest y pruebe
buildTypes { debug { testCoverageEnabled true } }
-
Aplicar complemento Jacoco y configurar la versión
apply plugin: 'jacoco' jacoco { version "0.7.1.201405082137" }
-
correr
./gradlew createDebugCoverageReport
-
Todas las pruebas en connectedAndroidTest se ejecutan y el informe de cobertura se genera basado en ellos. Puedo encontrar los informes de cobertura en
app/build/outputs/reports/coverage/{buildType}/index.html
Y un archivo coverage.ec en
app/build/outputs/code-coverage/connected/coverage.ec
Pero no hay jacoco.exec ya que estoy corriendo desde Android Instrumentación en lugar de Robolectric casos de prueba.
Y cuando ejecuto la instrumentación de ADB (supongo que esto todavía está usando Emma) de la siguiente manera, obtengo un archivo coverage.ec como sigue,
$ adb shell am instrument -w -e coverage true -e coverageFile /sdcard/coverage.ec com.sample.helloworld.test/.Runner .... OK (4 tests) Generated code coverage data to /sdcard/coverage.ec
Pero no puedo convertir el coverage.ec a report usando emma desde que el archivo de coverage.em falta,
java -cp ~/adt-bundle-mac-x86_64-20130729/sdk/tools/lib/emma_device.jar emma report -r html -in \ coverage.em,myFile.ec,myapp_coverage1.ec -sp /path/to/myapp/src
¿Hay una manera alrededor de este problema ??
- Jacoco cobertura de código en proyecto con múltiples sabores y módulos
- Aspectos del Informe de Cobertura de Jacoco
- Cobertura del código Jacoco en el estudio android
- Ejecutar una sola prueba para comprobar la cobertura de código Jacoco Android
- Jacoco con Android Gradle 1.3.0
- cómo generar un informe de cobertura de código para androidTest utilizando Jacoco en el estudio android
- Cobertura del código de prueba de Android con JaCoCo Gradle plugin
- Informe vacío de Jacoco para Android Espresso
Simplemente use el "coverage.ec" como el archivo ".exec", ha funcionado para mí
Esto es lo que hizo Google en el código fuente de Android Gradle Plugin.
Public static final String FILE_COVERAGE_EC = "coverage.ec";
En SimpleTestCallable.java en el paquete com.android.builder.internal.testing.
Escribí un artículo sobre el mismo escenario y mi solución. Puedes leerlo aquí . Para responder a esta pregunta específica, debe realizar los siguientes pasos: Cambiar gradle a esto:
apply plugin: 'jacoco' jacoco { toolVersion = '0.7.5.201505241946' }
Segunda descarga de este tarro . Continúe con las cosas que hizo hasta que tenga el archivo coverage.ec. Entonces cuando usted lo tiene funcionado:
java -jar android-jacoco-the-missing.jar -f /path/to/coverage.ec -p ./path/to/android/project
¡Y eso es! El tarro generará una carpeta con la cobertura del código.
Otra opción es usar la cobertura.ec con el complemento Jacoceno de Jenkins. Pero para eso necesitas tener a Jenkins encendido.
Retirar . De seguir el mando su trabajo para mí
java -jar android-jacoco-the-missing.jar -f /path/to/coverage.ec -p /path/to/android/project
- ¿Cómo desactivo la barra de autocorrección en los teclados de Android?
- ¿Una clave API de Google Maps caduca después de un tiempo determinado?