Android: ejecución de pruebas instrumentadas en el servidor de TeamCity
Estoy construyendo un proyecto de Android Studio / Gradle en el servidor de TeamCity. Soy un poco nuevo en TeamCity. Actualmente, las pruebas de unidad generadas automáticamente por Android Studio se ejecutan automáticamente cuando el proyecto se construye en TeamCity y se muestran en "Pruebas". También tengo una prueba instrumentada (una prueba que se ejecuta en el dispositivo Android conectado), pero no se ejecuta automáticamente como las pruebas de unidad.
Mi solución fue añadir un paso de generación de Gradle en TeamCity para ejecutar la prueba instrumentada. Hasta ahora, he tenido poco éxito. He utilizado las tareas gradle uninstallAll connectedAndroidTest
, que ejecuta la prueba instrumentada, pero el resultado de la prueba no aparece en "Tests" junto con las pruebas de unidad. Si la prueba instrumentada falla, la compilación falla, pero la prueba fallada todavía no aparece en "Pruebas".
- Prueba de suscripción en Android: elemento no encontrado
- ¿Cómo probar una ListActivity burlándose de su contentProvider y así aislar la prueba de la base de datos?
- ProviderTestCase2.getProvider () es nulo
- Cómo detener una aplicación de Android desde la consola
- ¿Por qué no hay instrumentación de prueba para BroadcastReceiver?
¿Qué estoy haciendo mal? ¿Existe una manera correcta de ejecutar pruebas instrumentadas en TeamCity?
- ¿Cómo probar la función de sincronización de ejecución en android?
- Robolectric + rxJava + retrofit Segunda llamada lanza java.io.InterruptedIOException
- Deshabilitar eventos a nivel de sistema en Android mono
- Prueba de un ContentProvider personalizado en Android
- Uso de la actividad de no producción para probar con Android Studio
- Espresso prueba pegado / inactivo después de realizar (haga clic ()) en el botón en ViewAnimator
- ¿Cómo crear sombras personalizadas en robolectric 3.0?
- Android: ¿Cómo puedo guardar, borrar y restaurar SharedPreferences para la prueba de unidades?
Puede ajustar la tarea de prueba:
test.dependsOn uninstallAll, connectedAndroidTest
Otra forma sería incluir su prueba (aunque no estoy seguro de si esto funcionará, ya que no estoy seguro de lo que están haciendo las tareas de uninstallAll y connectedAndroidTest): test {include 'org/foo/**'}
ConnectedAndroidTest mostrará los archivos especificando los resultados de la prueba de acuerdo con este patrón:
Archivos de resultados de las pruebas HTML: path_to_your_project / module_name / build / outputs / reports / androidTests / connected / directory. Archivos de resultado de la prueba XML: path_to_your_project / module_name / build / outputs / androidTest-results / connected / directory. (Desde aquí )
Utilizando ese archivo de salida, puede utilizar la función de procesamiento de informes XML de TeamCity. En su configuración de compilación, vaya a la pestaña Características de la construcción y agregue la función Procesamiento de informes XML. Utiliza la opción Google Test y apunta al directorio de salida del informe de la siguiente manera:
Después de eso, deberías ver tus resultados de prueba instrumentados aparecer en tus compilaciones como las pruebas regulares de JUnit:
- ¿Cómo mostrar el diseño del menú en el diseño mainactivity en la ventana de vista previa en Android Studio?
- Android Espresso Testing: ActivityTestRule no cierra la actividad