按JUnit 5文档编写的测试无法被Maven执行的问题排查与解决
问题:JUnit 5 @Test注解测试用例无法被Maven执行,仅test开头无注解方法运行
现象描述
- 按照JUnit 5官方文档编写了带有
@Test注解的测试用例 - 执行
mvn clean test后,控制台输出显示0个测试运行 - 仅命名以
test开头、未添加@Test注解的方法能被执行,这与JUnit 5文档描述的注解驱动测试逻辑不符
问题根源
核心原因是Maven SureFire插件版本过低:旧版本的SureFire插件默认仅兼容JUnit 3/4的命名约定(即方法名以test开头),不支持JUnit 5的注解驱动测试机制。
解决方法
在项目的pom.xml中升级SureFire插件至3.0.0及以上版本,配置示例如下:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </build>
升级完成后重新执行mvn clean test,符合JUnit 5规范的带@Test注解的测试用例即可正常运行。
内容的提问来源于stack exchange,提问作者AgilePro
相关产品推荐
相关产品推荐

