testing gradle stdout stderr

testing - Gradle: ¿Cómo obtener la salida de la prueba STDERR/STDOUT en la consola?



(2)

Agrega estas líneas a build.gradle :

apply plugin: ''java'' test { dependsOn cleanTest testLogging.showStandardStreams = true }

Editar:

Un mejor enfoque:

apply plugin: ''java'' test { testLogging { outputs.upToDateWhen {false} showStandardStreams = true } }

Aviso: outputs.upToDateWhen {false} no es necesario, pero si no se usa, las salidas solo se muestran si no están actualizadas y, en ese caso, debe ejecutar cleanTest o clean task antes de la tarea de test .

Para más información y opciones consulte la documentación .

(Gradle 3.2.1) Ejecuto algunas pruebas java, que registran la salida en Stderr / Stdout. Puedo ver esa salida, si comienzo

gradle test --info

pero en ese caso, gran parte de la salida no deseada de las bibliotecas de terceros también está allí.

Documentation sugiere el uso de logging.caputureStandardError / logging.caputureStandardError (loglevel) , pero no parece tener ningún efecto.

tasks.withType(Test) { logging.captureStandardOutput LogLevel.QUIET logging.captureStandardError LogLevel.QUIET }

Luego, si se ejecuta la gradle test , no se genera STDERR / STDOUT en la consola.

¿Cómo puedo obtener solo el resultado de las clases de pruebas en la consola?


Para aquellos que usan kotlin / kotlin dsl para gradle, necesita poner lo siguiente en su archivo build.grade.kts:

tasks.withType<Test> { this.testLogging { this.showStandardStreams = true } }

También como se menciona en otra respuesta, deberá ejecutar la "prueba de limpieza de gradle" para que la salida se imprima siempre.