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

Eclipse中Maven多模块项目执行mvn test无测试运行的问题

Maven多模块项目mvn test无测试运行的排查方案

兄弟,我之前踩过一模一样的坑!不管在父项目还是子项目跑mvn test都显示Tests run: 0,大概率是Maven Surefire插件的扫描规则或者项目配置出了问题,咱们一步步来排查:

1. 先检查测试类的命名规则

Maven的Surefire插件默认只认特定命名的测试类:

  • 以Test开头:比如TestUserService.java
  • 以Test结尾:比如UserServiceTest.java

如果你的测试类是UserServiceTestCase.java、UserTestDemo.java这类不符合规则的命名,插件会直接跳过扫描!

解决办法:

  • 要么直接重命名测试类,贴合Maven默认规则(推荐,符合规范)
  • 要么在子项目/父项目的POM里配置Surefire插件,自定义扫描规则:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.2.5</version> <!-- 用最新稳定版 -->
            <configuration>
                <includes>
                    <include>**/*TestCase.java</include> <!-- 加上你的测试类命名规则 -->
                    <include>**/*Test.java</include> <!-- 保留默认规则 -->
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 确认测试类的存放路径

Maven默认要求测试类放在src/test/java目录下,要是你把测试类误放到src/main/java里,Surefire插件根本不会去扫描这个目录!

解决办法:

把测试类移到src/test/java对应的包路径下,比如原来的src/main/java/com/example/MyTest.java,要改成src/test/java/com/example/MyTest.java。

3. 检查POM里的跳过测试配置

不小心在父项目或者子项目里加了跳过测试的配置,也会导致测试不运行:

  • 父POM里的全局配置:
<properties>
    <maven.test.skip>true</maven.test.skip> <!-- 这个会让所有子项目都跳过测试 -->
</properties>
  • 或者插件里直接设置跳过:
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>

解决办法:

把这些配置改成false,或者直接删掉。如果是子项目要覆盖父项目的配置,就在子项目POM里重新声明:

<properties>
    <maven.test.skip>false</maven.test.skip>
</properties>

4. 清除缓存再重试

有时候Eclipse的编译缓存或者Maven的本地仓库缓存会搞事情,试试先执行:

mvn clean test

先clean掉之前的编译产物,再重新运行测试。另外在Eclipse里右键项目→Maven→Update Project,让项目和Maven配置同步。

5. 检查测试方法的注解

最后再确认下,你的测试方法上有没有加正确的@Test注解?

  • JUnit4用的是org.junit.Test
  • JUnit5用的是org.junit.jupiter.api.Test

要是没加这个注解,Surefire会把它当成普通方法,不会执行测试!


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:30:48