Saltar al contenido

Surefire no está recogiendo las pruebas de Junit 5

Solución:

los maven-surefire-plugin, a partir de hoy, no tiene soporte completo de JUnit 5. Hay un problema abierto sobre la adición de este soporte en SUREFIRE-1206.

Como tal, debe utilizar un proveedor personalizado. Uno ya ha sido desarrollado por el equipo de JUnit; de la guía del usuario, debe agregar el junit-platform-surefire-provider proveedor y el TestEngine implementación para la nueva API:


          
    
      maven-surefire-plugin
      
      2.19.1
      
        
          org.junit.platform
          junit-platform-surefire-provider
          1.0.3
        
        
          org.junit.jupiter
          junit-jupiter-engine
          5.0.3
        
      
    
  

Además, asegúrese de declarar el junit-jupiter-api dependencia con un alcance de test:


  
    org.junit.jupiter
    junit-jupiter-api
    5.0.3
    test
  

Actualización 2

El problema se ha solucionado en Maven Surefire Plugin v2.22.0

La nueva versión está disponible en Maven Central Repository.

Maven


    org.apache.maven.plugins
    maven-surefire-plugin
    2.22.0

Gradle

compile group: 'org.apache.maven.plugins', name: 'maven-surefire-plugin', version: '2.22.0'

Actualizar

Como señaló Marian, la última versión de Proveedor Surefire de la plataforma JUnit 5 (1.2.0) admite la última versión de Complemento Maven Surefire (2.21.0):

        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.21.0
            
                
                    org.junit.platform
                    junit-platform-surefire-provider
                    1.2.0
                
            
        


Ejemplo

pom.xml


    
        org.junit.jupiter
        junit-jupiter-engine
        5.2.0
        test
    



    
        
            org.apache.maven.plugins
            maven-surefire-plugin
            2.21.0
            
                
                    org.junit.platform
                    junit-platform-surefire-provider
                    1.2.0
                
            
        
    

TestScenario.java

package test;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

public class TestScenario 

    @Test
    @DisplayName("Test 2 + 2 = 4")
    public void test() 
        Assertions.assertEquals(4, 2 + 2);
    

Salida (instalación limpia de mvn)


[INFO] — Maven-surefire-plugin: 2.21.0: prueba (prueba predeterminada) @ prueba —
[INFO]
[INFO]

————————————————– —–
[INFO] PRUEBAS
[INFO]

————————————————– —–
[INFO] Ejecutando test.TestScenario
[INFO] Pruebas ejecutadas: 1, Fallos: 0, Errores: 0, Omitidos: 0, Tiempo transcurrido: 0,005 s – en la prueba.

[INFO]
[INFO] Resultados:
[INFO]
[INFO] Pruebas ejecutadas: 1, Fallos: 0, Errores: 0, Omitidos: 0


La forma más sencilla hasta hoy:

    
        maven-surefire-plugin
        2.19.1
        
            
                org.junit.platform
                junit-platform-surefire-provider
                1.1.0
            
        
    

De la documentación de JUnit 5:

Comenzando con la versión 2.22.0, Maven Surefire proporciona soporte nativo para ejecutar pruebas en la plataforma JUnit.

Adicionalmente puedes leer en el maven-surefire-plugin documentación:

Uso de la plataforma JUnit 5

Para comenzar con la plataforma JUnit, debe agregar al menos una
TestEngine implementación a su proyecto. Por ejemplo, si desea escribir pruebas con Júpiter, agregue el artefacto de prueba junit-jupiter-engine
a las dependencias en POM

Así que eso es suficiente para ejecutar las pruebas de JUnit 5:


    4.0.0
    davidxxx
    minimal-pom-junit5
    0.0.1-SNAPSHOT

    
        5.2.0 
        
        1.8
        1.8
    

    
        
            org.junit.jupiter
            junit-jupiter-engine
            $junit-jupiter.version
            test
        

        
        
        
            org.junit.jupiter
            junit-jupiter-params
            $junit-jupiter.version
            test
        
    

    
        
            
                maven-surefire-plugin
                2.22.0
            
        
    


En mi espacio de GitHub, agregué un proyecto maven de muestra en funcionamiento que puede navegar / clonar.
URL: https://github.com/ebundy/junit5-minimal-maven-project

Si crees que te ha sido provechoso este post, agradeceríamos que lo compartas con el resto juniors y nos ayudes a difundir esta información.

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



Utiliza Nuestro Buscador

Deja una respuesta

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