JUnit设置Maven – JUnit 4和JUnit 5
JUnit 4和JUnit 5是完全不同的框架。它们都有同样的用途,但JUnit 5是一个完全从零开始编写的测试框架,不使用任何JUnit 4的API。在这里,我们将介绍如何在我们的Maven项目中设置JUnit 4和JUnit 5。
JUnit Maven 依赖
如果你想使用JUnit 4,那么你只需要以下单一的依赖。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
JUnit 5被分为几个模块,你至少需要JUnit Platform和JUnit Jupiter才能在JUnit 5中编写测试。另外,请注意JUnit 5需要Java 8或更高版本。
<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>
如果你想要进行参数化测试,那么你需要添加一个额外的依赖。
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
在Maven构建过程中进行JUnit测试。
如果你希望在maven构建过程中执行测试,你需要在pom.xml文件中配置maven-surefire-plugin插件。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: 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>
JUnit HTML報告
Maven Surefire 插件可以生成文本和 XML 报告,而使用 maven-surefire-report-plugin 可以生成基于 HTML 的报告。下面的配置适用于 JUnit 4 和 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>
只需要运行mvn site命令,HTML报告将会在target/site/目录下生成。这就是关于Maven项目JUnit设置的快速概述。