JUnit安装Maven – JUnit 4和JUnit 5

时间:2020-02-23 14:35:25  来源:igfitidea点击:

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:

<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 /"目录中生成。