1.不配置 maven-surefire-plugin 插件,无法使用 Maven 的测试功能,
2.maven-surefire-plugin 插件只支持 junit-jupiter-api 构件,不支持 junit 构件
所以在 pom.xml 文件关于测试的配置内容如下:
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.9</source>
<target>1.9</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
如果要使用 Maven 的批量测试功能,只能把测试用例写在 src/test/java 目录下的源代码文件中。
测试案例
首先在 src/main/java 下创建一个简单的被测试的类,类的代码如下:
public class HelloMaven {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}
接着在 src/test/java 目录下创建测试用例(即用于测试的类),代码如下:
package com.example.demo02;
import org.junit.Assert;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
public class HelloMavenTest {
private HelloMaven hm;
@BeforeEach
public void setUp() {
hm = new HelloMaven();
}
@Test
public void testAdd() throws InterruptedException {
int a = 1;
int b = 2;
int result = hm.add(a, b);
Assert.assertEquals(a + b, result);
}
@Test
public void testSubtract() throws InterruptedException {
int a = 1;
int b = 2;
int result = hm.subtract(a, b);
Assert.assertEquals(a - b, result);
}
@AfterEach
public void tearDown() throws Exception {
System.out.println("测试结束了!");
}
}
接着就可以打开命令终端,切换到 pom.xml 所在目录下,输入 mvn test 命令执行测试。
surefire 插件配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<excludes>
<exclude>**/TestConstants.java</exclude>
</excludes>
<forkMode>always</forkMode>
<parallel>methods</parallel>
<threadCount>4</threadCount>
</configuration>
</plugin>
|