JUnit 4 y JUnit 5 son marcos completamente diferentes. Ambos sirven al mismo propósito, pero JUnit 5 es un marco de prueba completamente diferente escrito desde cero. No utiliza nada de las API de JUnit 4. Aquí veremos cómo configurar JUnit 4 y JUnit 5 en nuestros proyectos Maven.
Dependencias Maven de JUnit
Si deseas usar JUnit 4, solo necesitas una dependencia como se muestra a continuación.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
JUnit 5 se divide en varios módulos, necesitas al menos JUnit Platform y JUnit Jupiter para escribir pruebas en JUnit 5. Además, ten en cuenta que JUnit 5 requiere Java 8 o versiones superiores.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
Si deseas ejecutar pruebas parametrizadas, entonces necesitas agregar una dependencia adicional.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
Pruebas de JUnit durante la construcción de Maven
Si deseas que las pruebas se ejecuten durante la construcción de Maven, deberás configurar el complemento maven-surefire-plugin
en tu archivo pom.xml. JUnit 4:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.22.0</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
JUnit 5:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>src/test/java/</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
</plugins>
</build>
Informes HTML de JUnit
El complemento Maven Surefire genera informes en texto y XML, podemos generar informes basados en HTML usando maven-surefire-report-plugin
. La siguiente configuración funciona tanto para JUnit 4 como para JUnit 5.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
</plugin>
</plugins>
</reporting>
Solo ejecuta el comando mvn site
y el informe HTML se generará en el directorio target/site/
. Eso es todo para un resumen rápido de la configuración de JUnit para proyectos Maven.
Source:
https://www.digitalocean.com/community/tutorials/junit-setup-maven