Soy nuevo en EMMA, no sé cómo usar esto para el sistema Android. ¿Alguien puede dar una muestra para usar esto con Android. Muchas gracias.Cómo utilizar la cobertura de código EMMA en Android
Respuesta
Parece que EMMA aún no es compatible con SDK. Solo es compatible con aplicaciones y pruebas que son parte del árbol de fuentes. Lo cual parece extraño porque no mencionan esto en la guía de desarrollo donde le informan sobre las opciones de instrumentación de EMMA. http://developer.android.com/guide/developing/testing/testing_otheride.html#AMOptionsSyntax
Usted puede leer la respuesta de este tipo (que parece estar en el equipo de desarrollo? No lo sé) http://groups.google.com/group/android-developers/msg/a542afd318832371
Si desea descargar y generar la fuente de Android suena factible obtener EMMA trabajar para tu propia aplicación Sin embargo, suena un poco complicado y posiblemente un poco inestable. Vea el hilo completo para más información: http://groups.google.com/group/android-developers/browse_thread/thread/43cf8a8ca5662f85/9b68eec3e7b625f3?lnk=gst&q=Emma#
Solo he podido hacer que emma trabaje con hormiga. Si usted tiene una acumulación de hormigas estableció continuación, puede ejecutar:
ant emma debug install
ant emma debug install test
El primero es ejecutar en el directorio del proyecto, el segundo desde el directorio de prueba. Consulte la documentación para más detalles: http://developer.android.com/guide/developing/building/building-cmdline.html
Si usted no tiene un archivo build.xml de hormigas ya se puede ver cómo generar uno de su proyecto actual aquí: http://developer.android.com/guide/developing/projects/projects-cmdline.html
La parte triste es que esto sólo trabajar en el emulador o en un dispositivo rooteado. Esto se debe a que el archivo de cobertura se genera en una carpeta que requiere root. También necesitaba modificar el archivo android-sdk/tools/ant/build.xml para copiar el archivo en mi dispositivo rooteado en otro lugar para poder llevarlo a cabo. He modificado el bloque de Emma del xml a ser las siguientes:
<if condition="${emma.enabled}">
<then>
<echo>WARNING: Code Coverage is currently only supported on the emulator and rooted devices.</echo>
<run-tests-helper emma.enabled="true">
<extra-instrument-args>
<arg value="-e" />
<arg value="coverageFile" />
<arg value="${emma.dump.file}" />
</extra-instrument-args>
</run-tests-helper>
<echo>Copying coverage to readable directory...</echo>
<exec executable="${adb}" failonerror="true">
<arg line="${adb.device.arg}" />
<arg value="shell" />
<arg value="echo cp ${emma.dump.file} /sdcard/coverage.ec | su" />
</exec>
<echo>Downloading coverage file into project directory...</echo>
<exec executable="${adb}" failonerror="true">
<arg line="${adb.device.arg}" />
<arg value="pull" />
<arg value="/sdcard/coverage.ec" />
<arg value="coverage.ec" />
</exec>
<echo>Extracting coverage report...</echo>
<emma>
<report sourcepath="${tested.project.absolute.dir}/${source.dir}"
verbosity="${verbosity}">
<!-- TODO: report.dir or something like should be introduced if necessary -->
<infileset dir=".">
<include name="coverage.ec" />
<include name="coverage.em" />
</infileset>
<!-- TODO: reports in other, indicated by user formats -->
<html outfile="coverage.html" />
</report>
</emma>
<echo>Cleaning up temporary files...</echo>
<delete file="coverage.ec" />
<delete file="coverage.em" />
<echo>Saving the report file in ${basedir}/coverage/coverage.html</echo>
</then>
<else>
<run-tests-helper />
</else>
</if>
Si está utilizando Maven para su proyecto es bastante sencilla con dispositivos arraigados de verificación este wiki:
http://code.google.com/p/maven-android-plugin/wiki/EmmaMaven
era fácil de implementar la solución aparte de la generación de informes pero si revisas los comentarios de la wiki encontrarás la solución
- 1. Cobertura Emma en Enum tipos
- 2. ¿Cómo exportar la cobertura de emma a HTML en eclipse?
- 3. Scala, sbt y emma o Cobertura
- 4. Cobertura de código de Emma para la prueba JUnit de Android
- 5. ¿Cómo forzar al informe de cobertura del código de Emma a ignorar algunos métodos?
- 6. ¿Cómo puedo generar informes de cobertura de código Emma usando Ant?
- 7. Cobertura de código de Java en Hudson
- 8. Herramienta de cobertura EMMA que no muestra cobertura línea por línea
- 9. java.lang.RuntimeException: Stub! - ¿Cobertura del código de Android?
- 10. Creación de proyectos de Android con TeamCity: pruebas y problemas de cobertura de código
- 11. Cobertura frente al código alcanzable
- 12. Cobertura de código/cobertura recomendada valores
- 13. ¿Qué distancia toma la cobertura del código?
- 14. XCode - ¿Cobertura del código?
- 15. TDD y Cobertura de código
- 16. ¿Hay alguna herramienta para convertir los informes Emma XML al formato XML de Cobertura?
- 17. Medir la cobertura del código solo en el nuevo código
- 18. Excluir métodos específicos de cobertura de código de cobertura?
- 19. ¿Por qué emma no da cobertura completa a los bloques finalmente?
- 20. ¿Cobertura de código con nUnit?
- 21. Excluir métodos de cobertura de código con Cobertura
- 22. cobertura de código vs ExpectedException
- 23. Herramientas de cobertura de código en Java
- 24. Cobertura de código y culpa
- 25. google-test: código de cobertura
- 26. Cobertura del código de medición en Delphi
- 27. Cobertura de código en Lambda Expressions
- 28. ¿Qué es la cobertura del código?
- 29. ¿Cómo activa Cobertura de código en compilaciones dentro de TFS?
- 30. ¿Cómo puedo usar Objetos Simulados en mis pruebas de unidad y todavía utilizar la Cobertura del Código?
No tengo idea si esta respuesta es válida. Fue escrito hace más de 2 años atrás, cuando Android 2.0 todavía estaba en versión beta. Creo que – plainjimbo