Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cuáles son mis alternativas para la cobertura de código de prueba en Android?

Sé que las herramientas de Ant de Android vienen con cobertura de código Emma incorporada, pero los informes de Emma parecen más y más anticuados y no pueden ser fácilmente integrados en otros informes de cobertura o incluso en Sonar, básicamente porque Emma carece de un formato XML detallado. Lo que quiero lograr es

  • Cobertura de código para pruebas unitarias (Robolectric-based, ya realizado con Cobertura)
  • Cobertura de código para pruebas de integración (basado en Robotium / emulador, actualmente hecho por separado con Emma)
  • Idealmente fusionando resultados de cobertura de código (esto es IMHO sólo es posible con Cobertura y requiere los archivos raw * .ser de cada ejecución de prueba)
  • Publicando a Sonar (actualmente sólo se hace con la cobertura de la prueba de unidad, Sonar entiende sólo un formato de cobertura a mi conocimiento)

¿Tengo alguna alternativa?

Editar: Esta entrada en sonar-devel probablemente resume el estado actual de la compatibilidad con la cobertura de código de Android, así como soporte de Sonar prácticamente. suspiro

  • No deje de generar gradle si una prueba falla con el gradle-android-test-plugin
  • JUnit4 - AssertionFailedError: No se han encontrado pruebas
  • Android-volley cómo a prueba de unidad pasó en Listener
  • Simulación de servidor de actualización cuadrada para pruebas
  • Cómo cambiar el tamaño de la pantalla física de Android desde el terminal / shell
  • En la segunda prueba getActivity () nunca vuelve
  • La manera más rápida de crear una actividad simulada para probar
  • Pruebas automáticas para Cordova / Phonegap Webview en Android
  • 3 Solutions collect form web for “¿Cuáles son mis alternativas para la cobertura de código de prueba en Android?”

    He empujado un reporte de github que contiene la misma configuración que usted mencionó en su pregunta:

    • Prueba estándar de android + cobertura de código emma
    • Robolectric + cubierta cobertura de código (BTT thx, pensé que cobertura no era compatible con robolectric)

    Y su inclusión en sonar. Sólo uno a la vez, pero todavía la configuración es una base interesante para trabajar.

    https://github.com/stephanenicolas/Quality-Tools-for-Android

    Un colega y yo tenemos en mente para trabajar en este tema con una mentalidad muy similar como lo hace. Queremos conseguir una mejor integración de las diferentes tecnologías de pruebas para que estén disponibles para los proyectos de Android e informes para trabajar en sonar también.

    Si desea unirse a nuestro esfuerzo, estaremos encantados de darle los derechos sobre el repo y empezar a trabajar con usted.

    Stéphane

    – Actualización

    Desde marzo de 2013, también proponemos una configuración unificada para utilizar la instrumentación offline de Jacoco tanto para pruebas roboeléctricas como junit estándar y obtener resultados simultáneamente en Sonar.

    Usted puede utilizar el marco robolectric. Le permitirá ejecutar pruebas de JUnit en la máquina virtual Java en lugar de usar las pruebas Junit de Android que se ejecutan en la VM de Dalvik. Esto le permitirá utilizar cualquier herramienta de cobertura estándar disponible (EclEmma, ​​CodeCover, Cobertura, etc.). Es fácil de configurar y ejecuta estable (Lo que no se puede decir de la herramienta Clover).

    Descargo de responsabilidad: I'm an Atlassian

    Sí. Hay una alternativa – puede utilizar la herramienta Atlassian Clover. Hay una versión alfa de Clover-for-Android disponible desde https://confluence.atlassian.com/display/CLOVER/Clover-for-Android

    Usted escribió que desea lograr lo siguiente:

    • Código para pruebas de unidad – sí, Clover soporta "Ejecutar como> Android JUnit Test", así como "Ejecutar como> JUnit Test" – es decir, sin iniciar un emulador (pero este último requeriría una configuración ligeramente diferente como se describe en el trébol de Manual del -Android)
    • Cobertura de código para pruebas de integración – como anteriormente, "Ejecutar como> Android JUnit Test"
    • Idealmente fusionando resultados de cobertura de código – sí, puede combinar los resultados de cobertura de código de múltiples ejecuciones de prueba; Lo que es más, incluso puede ejecutar su aplicación en el emulador o dispositivo y realizar pruebas manuales (sic!)
    • Publicando a Sonar – hay un Clover Sonar Plugin disponible, sin embargo no lo probé con Clover-for-Android; Probablemente tendrías que ejecutar tus pruebas en Eclipse, exportar el siguiente informe XML o HTML (botón en la vista de Clover's Coverage Explorer) y empujar estos archivos a la construcción de Sonar
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.