Personalización de la salida de prueba de Junit5 a través de Gradle.
Estoy intentando mostrar BDD desde mis pruebas junit de la siguiente manera: –
Característica: Búsqueda avanzada por nombre
Escenario: Búsqueda por nombre v1
Dado que estoy en la página de inicio
Cuando Busco el nombre de Brad Pitt
Y Hago clic en el botón de búsqueda2
Entonces Espero ver resultados con nombre 'Brad Pitt'
Al ejecutarlo en IntelliJ IDE, esto se muestra bastante bien, pero al ejecutarlo en Gradle no aparece nada. Investigué un poco y activé el booleano de prueba showStandardStreams, es decir,
En mi archivo build.gradle he agregado …
groovy
prueba {
useJUnitPlatform()
testLogging {
showStandardStreams = true
}
}
Esto produce …
> Tarea: prueba
Adv Name Search STANDARD_OUT
Característica: Búsqueda avanzada por nombre
Prueba la función de búsqueda avanzada por nombre en IMDB
Adv Name Search > Search by name v1 STANDARD_OUT
Escenario: Búsqueda por nombre v1
Dado que estoy en la página de inicio
Cuando Busco el nombre de Brad Pitt
Y Hago clic en el botón de búsqueda2
Entonces Espero ver resultados con nombre 'Brad Pitt'
… que está bastante cerca, pero realmente no quiero ver la salida de Gradle (las líneas con STANDARD_OUT + líneas en blanco adicionales).
Adv Name Search STANDARD_OUT
¿Hay alguna forma de no mostrar el registro adicional de Gradle en la sección de prueba?
¿O tal vez mis pruebas no deberían usar System.out.println en absoluto, sino más bien utilizar un registro adecuado (por ejemplo, log4j) + config de gradle para mostrar estos?
Cualquier ayuda / consejo es apreciado.
Actualización (1)
He creado un ejemplo mínimo reproducible en https://github.com/bobmarks/stackoverflow-junit5-gradle si alguien quiere clonar y ./gradlew clean test.
davy.ai
Respuesta
Sí, puedes usar un registro adecuado (por ejemplo, log4j) y configurar Gradle para mostrar la salida. Para hacer esto, debes agregar lo siguiente a tu archivo
build.gradle
:Esto desactivará la salida de Gradle y solo mostrará la salida de tus pruebas.