You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行mvn clean test时Maven未运行JUnit单元测试该如何解决?

Maven未执行JUnit5单元测试的原因及修复方案

1. maven-surefire-plugin版本兼容性问题

你当前使用的3.0.0-M5是里程碑测试版本,本身存在JUnit5适配缺陷,且低版本的surefire插件默认不支持JUnit5的测试用例扫描,需要额外添加适配依赖。
修复方案二选一即可:

  • 升级到稳定版surefire插件,原生支持JUnit5,无需额外配置:
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>3.2.5</version>
</plugin>
  • 若必须保留当前版本,补充JUnit5 Provider依赖:
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>3.0.0-M5</version>
  <dependencies>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-surefire-provider</artifactId>
      <version>1.8.1</version>
    </dependency>
  </dependencies>
</plugin>

2. 测试类/方法不符合扫描规则

Maven默认只会扫描符合以下规则的测试用例:

  • 测试类命名以*Test、*Tests、*TestCase结尾,例如OrderServiceTest.java,不符合命名规则的类不会被识别为测试类
  • 测试方法必须标注org.junit.jupiter.api.Test注解(注意区分JUnit4的org.junit.Test注解,二者不能混用)
  • 测试类不能是抽象类,必须包含无参构造方法
  • 测试方法不能用private、static修饰,不能有返回值和入参

3. IDEA项目配置错误

可依次排查以下配置项:

  • 确认src/test/java目录已被标记为测试源根:右键目录→「Mark Directory as」→「Test Sources Root」,标记后目录图标为绿色
  • 确认测试类存放在src/test/java目录下,而非src/main/java或src/test/resources目录
  • 清理IDEA缓存后重试:点击顶部菜单「File → Invalidate Caches...」,选择清理并重启IDEA

修改配置后重新执行mvn clean test,即可看到测试用例正常执行。

内容的提问来源于stack exchange,提问作者ritratt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:06:05