JUnit 4 et JUnit 5 sont des frameworks complètement différents. Ils servent tous les deux le même but, mais JUnit 5 est un framework de test complètement différent écrit à partir de zéro. Il n’utilise rien des APIs de JUnit 4. Ici, nous verrons comment configurer JUnit 4 et JUnit 5 dans nos projets Maven.
Dépendances Maven pour JUnit
Si vous souhaitez utiliser JUnit 4, vous aurez besoin d’une seule dépendance comme ci-dessous.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
JUnit 5 est divisé en plusieurs modules, vous avez besoin d’au moins JUnit Platform et JUnit Jupiter pour écrire des tests en JUnit 5. Notez également que JUnit 5 nécessite Java 8 ou des versions ultérieures.
<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 vous souhaitez exécuter des tests paramétrés, vous devrez ajouter une dépendance supplémentaire.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
Exécution des tests JUnit pendant la construction Maven
Si vous souhaitez que les tests soient exécutés pendant la construction Maven, vous devrez configurer le plugin maven-surefire-plugin
dans votre fichier 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>
Rapports HTML JUnit
Le plugin Maven Surefire génère des rapports au format texte et XML. Nous pouvons générer des rapports basés sur HTML en utilisant le maven-surefire-report-plugin
. La configuration ci-dessous fonctionne à la fois pour JUnit 4 et 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>
Il suffit d’exécuter la commande mvn site
et le rapport HTML sera généré dans le répertoire target/site/
. C’est tout pour un tour d’horizon rapide de la configuration JUnit pour les projets Maven.
Source:
https://www.digitalocean.com/community/tutorials/junit-setup-maven