para - eclipse java oxygen
Cobertura de código de prueba de Android, Eclipse (4)
¿Hay alguna manera de ejecutar pruebas unitarias para Android desde Eclipse de manera que instrumenten el código y midan la cobertura del código de prueba?
Estoy buscando una forma sencilla de averiguar qué partes de mi aplicación aún no se han probado, corregir los casos de prueba y ver si eso ayudó.
Eche un vistazo a este artículo: http://blog.pboos.ch/2011/06/coverage-fo-android-tests/
EDITAR: Enlace actualizado: https://github.com/pboos/blog.pboos.ch/blob/master/_posts/2011-06-29-coverage-fo-android-tests.markdown
Instale EclEmma desde Eclipse Marketplace.
Si tiene <path to test project>/build.xml
, cambie el nombre del archivo.
Pude generar un informe de cobertura de prueba ejecutando lo siguiente desde la consola:
<path to android tools>android update test-project -m <path to app project> -p <path to test project>
+ Enter ,
cd <path to test project>
+ Entrar ,
ant emma debug install test
+ Enter ,
donde <path to android tools>
es /opt/android-sdk-linux/tools/
en mi máquina, la carpeta donde está instalado el SDK de Android.
Esto generó el archivo <path to test project>/bin/coverage.html
.
Si gksu gedit /etc/environment
error "JAVA_HOME incorrecto", ejecute gksu gedit /etc/environment
+ Ingrese , corrija JAVA_HOME
, guarde el archivo, gksu gedit /etc/environment
la sesión o reinicie e intente nuevamente.
Me han utilizado EMMA (Android ya lo admite) para cobertura de código (y android-junit-report para informes de pruebas), aquí hay un resumen:
- Crear proyecto de Android (o biblioteca)
Proyecto de actualización de android.bat -p project -n my_project -t android-16
proyecto de cd
ant emma clean debug
- crear un proyecto de prueba (vinculado a la biblioteca anterior)
Proyecto de actualización de android.bat --library .. / project -p project_Test -n project_Test -t
- En caso de que el proyecto principal no sea una biblioteca.
Proyecto de actualización de android.bat -m .. / project -p project_Test -n project_Test -t
ant emma clean debug install No uso "probar" porque quiero ejecutar mi propio instrumento
adb shell am instrument -e cobertura verdadero -e coberturaFichas sdcard / cover.ec -w com..myproject.test / com.zutubi.android.junitreport.JUnitReportTestRunner
- Extraer archivos del dispositivo (emulador)
adb pull sdcard / junit-report.xml
adb pull sdcard / cover.ec
- Generar informe XML (también puede generar informe html)
java -cp emma.jar informe de emma -r xml -in bin / cobertura.em, cobertura.ec
- Generar informe HTML (también puede generar informe html)
java -cp emma.jar informe de emma -r html -in bin / cobertura.em, cobertura.ec
Usando Post-builds (Jenkins):
- Informe XML de JUnit
- Informe de cobertura de Emma (indique la cobertura.xml como entrada)
No necesita el emma.jar en libs
Compruébalo en mi blog
Descargo de responsabilidad: soy un atlassiano
La herramienta Atlassian Clover también es compatible con Android: mide la cobertura tanto para el código de la aplicación como para las pruebas unitarias. Aunque en la etapa alfa, funciona bastante bien, funciona con Eclipse versión 3.6.2 y superior.
Si desea encontrar áreas de su aplicación que requieran mejoras, las siguientes funciones de Clover serán perfectas para esta tarea:
- Tablero de trébol
- Informe de cobertura en la nube
- Informe de cobertura TreeMap
- Explorador de cobertura
¡Ah, y el Informe HTML de Clover se ve fantástico!
Compruebe esto: https://confluence.atlassian.com/display/CLOVER/Clover-for-Android