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.