unitarias - Gradle: ¿Cómo mostrar los resultados de androidTest en la consola?
testandroid (2)
La versión fácil es solo para usar:
./gradlew connectedAndroidTest --info
se necesita un poco para iniciar sesión en la ventana del terminal / consola, pero muestra todo de forma agradable, coloreada y formateada
me gusta …
…ShowsIntroduction[SM-G950F - 7.0] SUCCESS
…BackButtonReturnsToOnboardingScreen[SM-G950F - 7.0] SKIPPED
buena suerte, diviértete
Como se explica en otros subprocesos, Gradle se puede configurar para registrar los resultados de las pruebas en la consola:
- Gradle Android: Cómo mostrar los resultados de las pruebas sin usar --info
- Gradle: ¿Cómo mostrar los resultados de las pruebas en la consola en tiempo real?
- Resultados de las pruebas de la unidad de salida en la consola utilizando las pruebas spock junit y el sistema de construcción gradle
Básicamente, esto se puede configurar a través de la siguiente tarea:
tasks.withType(Test) {
testLogging {
// Custom configuration
}
}
Esto funciona bien para pruebas unitarias y se ve algo así:
...
:app:assembleDebugUnitTest
:app:testDebugUnitTest
:app:processDebugResources
com.example.StringsTest > formatValue PASSED
com.example.StringsTest > formatValueWithDecimals FAILED
1 test completed, 1 failed
Además, las pruebas unitarias también ejecuto la prueba de integración usando el siguiente comando:
$ ./gradlew connectedAndroidTest
Cuando veo la salida en la consola, me faltan los resultados de las pruebas individuales que se escriben para las pruebas unitarias. ¿Cómo puedo configurar el registro de pruebas para las pruebas de instrumentación?
Las pruebas conectadas registran la salida y los eventos en logcat
, ya que se ejecuta en un dispositivo / emulador. Los eventos de prueba se registran en la etiqueta TestRunner
.
Utilizo el siguiente script para iniciar adb logcat
en segundo plano, que registra los eventos de TestRunner
mientras se ejecutan las pruebas, y luego logcat
proceso de logcat
.
adb logcat *:S TestRunner:V & LOGCAT_PID=$! ; /
./gradlew :app:cAT ; /
if [ -n "$LOGCAT_PID" ] ; then kill $LOGCAT_PID; fi
que produce algo como esto:
[1] 90439
--------- beginning of system
--------- beginning of main
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
...
:app:packageDebugAndroidTest UP-TO-DATE
:app:assembleDebugAndroidTest UP-TO-DATE
> Building 96% > :app:connectedDebugAndroidTest06-13 09:25:04.259 5460 5474 I TestRunner: run started: 23 tests
06-13 09:25:04.267 5460 5474 I TestRunner: started: testHomeClick(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:06.899 5460 5474 I TestRunner: finished: testHomeClick(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:06.903 5460 5474 I TestRunner: started: testRenderNoContent(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:08.128 5460 5474 I TestRunner: finished: testRenderNoContent(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:08.130 5460 5474 I TestRunner: started: testStateRestoration(io.github.hidroh.tldroid.CommandActivityTest)
06-13 09:25:09.547 5460 5474 I TestRunner: finished: testStateRestoration(io.github.hidroh.tldroid.CommandActivityTest)
...
06-13 09:25:35.283 5460 5474 I TestRunner: run finished: 23 tests, 0 failed, 0 ignored
:app:connectedDebugAndroidTest
:app:createDebugAndroidTestCoverageReport
:app:connectedAndroidTest
BUILD SUCCESSFUL
Total time: 1 mins 7.485 secs
[1]+ Terminated: 15 adb logcat *:S TestRunner:V
Por supuesto, puede modificar el comando logcat para usar un registrador de su elección, por ejemplo, un registrador de color, o cambiar logcat filterspec para mostrar más eventos.