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

求助:Maven无法找到任何测试?附JUnit5测试类代码

Maven找不到JUnit 5测试的常见原因及解决办法

我来帮你排查下Maven为啥找不到你的测试类,结合你贴的代码,大概率是这几个问题之一:

1. 缺少JUnit 5的核心运行依赖

你用的是JUnit Jupiter(JUnit 5)的参数化测试,但如果只引入了API依赖,没加JUnit Jupiter Engine,Maven Surefire插件就找不到执行测试的引擎。

在你的pom.xml里,要确保有这两个依赖(scope都是test):

<dependencies>
    <!-- JUnit Jupiter API - 用于编写测试 -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.2</version>
        <scope>test</scope>
    </dependency>
    <!-- JUnit Jupiter Engine - 用于运行测试 -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.9.2</version>
        <scope>test</scope>
    </dependency>
</dependencies>

2. Maven Surefire插件版本太旧

Maven默认的Surefire插件版本可能不支持JUnit 5,你需要在pom.xml的build部分指定一个支持JUnit 5的新版本(比如3.0.0及以上):

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.1.2</version>
        </plugin>
    </plugins>
</build>

3. 测试代码存在编译错误

你贴的代码里AddFuncti...明显没写完,比如应该是调用AddFunction.add(first, second)这类逻辑。如果测试类本身编译失败,Maven会直接跳过测试执行,自然显示“找不到测试”。先把测试方法里的代码补全,确保mvn compile test-compile能顺利通过。

4. 测试类/方法的规范检查(虽然你的代码看起来符合,但还是确认下)

  • 测试类命名要符合*Test的格式(你的AddFunctionTest没问题)
  • 测试方法必须是public的(你的方法是public void,没问题)
  • 方法上必须有@Test或@ParameterizedTest这类JUnit 5的测试注解(你加了@ParameterizedTest,没问题)

解决完这些问题后,再运行mvn test,应该就能看到测试被执行了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:17:09