Saltar al contenido

spring-boot-starter-test con JUnit 5

No dejes de compartir nuestro espacio y códigos con tus amigos, necesitamos de tu ayuda para aumentar esta comunidad.

Solución:

A partir de Gradle 4.6 (creo), hay compatibilidad nativa con JUnit 5. Simplemente puede incluir JUnit5 de la siguiente manera:

dependencies 
  testCompile "org.junit.jupiter:junit-jupiter-api:5.2.0"
  testCompile "org.junit.jupiter:junit-jupiter-params:5.2.0"
  testRuntime "org.junit.jupiter:junit-jupiter-engine:5.2.0"

También necesitarás:

test 
  useJUnitPlatform()

JUnit 4 y 5 usan diferentes nombres de paquetes, por lo que pueden coexistir en el mismo proyecto. Muchas de las anotaciones son las mismas (@Testetc) así que asegúrese de incluirlos desde el org.junit.jupiter.api paquete.

aquí está usando implementación en vez de compilar.

test 
  useJUnitPlatform()


dependencies 
    testImplementation('org.springframework.boot:spring-boot-starter-test') 
        exclude group: 'junit', module: 'junit'
    
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.4.2'
    testImplementation 'org.junit.jupiter:junit-jupiter-params:5.4.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.4.2'

Actualización 2020-10-29

En nuestro proyecto Spring Boot 2.3, ya no necesitábamos este fragmento. Ya estaba usando JUnit 5 por defecto.

Aparecen versiones más nuevas de spring-boot-starter-test (visto en 2.2.6/2.2.7) están importando org.junit.vintage:junit-vintage-engineque tiene una dependencia transitiva de junit:junit. Excluyendo solo junit me dio algunos errores espurios:

May 13, 2020 9:20:05 AM org.junit.platform.launcher.core.DefaultLauncher handleThrowable
WARNING: TestEngine with ID 'junit-vintage' failed to discover tests
java.lang.NoClassDefFoundError: junit/runner/Version
...
Caused by: java.lang.ClassNotFoundException: junit.runner.Version
...

Ajuste:

testCompile('org.springframework.boot:spring-boot-starter-test') 
    exclude group: 'org.junit.vintage'

hizo el truco para mí y todas las pruebas continúan funcionando bien

Recuerda algo, que tienes la capacidad de valorar este enunciado si tropezaste tu atolladero justo a tiempo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *