JUnit 4 e JUnit 5 são frameworks completamente diferentes. Ambos servem ao mesmo propósito, mas o JUnit 5 é um framework de teste completamente diferente escrito do zero. Ele não utiliza nada das APIs do JUnit 4. Aqui vamos ver como configurar o JUnit 4 e o JUnit 5 em nossos projetos Maven.
Dependências Maven do JUnit
Se você deseja usar o JUnit 4, então você precisa de uma única dependência como abaixo.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
O JUnit 5 é dividido em vários módulos, você precisa pelo menos do JUnit Platform e do JUnit Jupiter para escrever testes no JUnit 5. Além disso, observe que o JUnit 5 requer Java 8 ou versões 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>
Se você deseja executar testes parametrizados, então você precisa adicionar uma dependência adicional.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
Testes JUnit Durante a Compilação Maven
Se desejar que os testes sejam executados durante a compilação Maven, você terá que configurar o plugin maven-surefire-plugin
em seu arquivo 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>
Relatórios HTML do JUnit
O plugin Maven Surefire gera relatórios em texto e XML. Podemos gerar relatórios baseados em HTML usando o maven-surefire-report-plugin
. A configuração abaixo funciona tanto para JUnit 4 quanto 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>
Basta executar o comando mvn site
e o relatório HTML será gerado no diretório target/site/
. Isso é tudo para uma rápida visão geral da configuração do JUnit para projetos Maven.
Source:
https://www.digitalocean.com/community/tutorials/junit-setup-maven