es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , ,

Answer

  1. Avatar for 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:

    test {
        useJUnitPlatform()
        testLogging {
            events "passed", "skipped", "failed", "standardOut", "standardError"
            showStandardStreams = false
        }
    }
    

    Esto desactivará la salida de Gradle y solo mostrará la salida de tus pruebas.

Comments are closed.