在Maven 3.8.6环境中运行JUnit 5测试用例,需要正确配置项目依赖与构建插件,否则会出现测试用例无法识别、执行报错等问题。很多开发者初次使用时容易忽略插件的适配要求,导致测试流程卡住。

核心依赖配置
JUnit 5的模块化设计需要单独引入测试引擎和核心依赖,在项目的pom.xml中添加以下依赖:
<dependencies>
<!-- JUnit 5核心依赖 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.2</version>
<scope>test</scope>
</dependency>
<!-- JUnit 5引擎依赖 -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.2</version>
<scope>test</scope>
</dependency>
</dependencies>
maven-surefire-plugin插件配置
Maven 3.8.6默认的maven-surefire-plugin版本可能无法兼容JUnit 5,需要显式指定插件版本为2.22.0及以上,配置方式如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M7</version>
</plugin>
</plugins>
</build>
编写JUnit 5测试用例
完成依赖和插件配置后,就可以编写标准的JUnit 5测试用例,示例代码如下:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class DemoTest {
@Test
void testAdd() {
int result = 1 + 2;
// 断言结果是否符合预期
assertEquals(3, result);
}
}
运行测试用例
在项目根目录下执行Maven测试命令即可运行所有测试用例:
mvn test
如果需要运行指定的测试类,可以使用以下命令:
mvn test -Dtest=DemoTest
常见问题排查
- 如果提示找不到测试类,检查
@Test注解是否来自org.junit.jupiter.api包,而不是JUnit 4的org.junit包 - 如果插件报错,确认maven-surefire-plugin版本是否符合要求,低于2.22.0的版本不支持JUnit 5
- 如果依赖冲突,检查是否存在多个版本的JUnit相关依赖,统一使用JUnit 5的依赖版本即可