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

如何在不执行测试的前提下获取Maven项目所有测试类及文件路径?

不用执行测试就能获取Maven项目测试类及路径的方案

我有几个不用修改pom.xml的通用方案,帮你快速拿到所有测试类和对应的文件路径,而且完全不用跑测试用例:

方法1:用Surefire插件的Dry Run模式

直接在项目根目录执行这条命令就行,它会让Surefire插件扫描所有符合规则的测试类,但不会实际执行测试,还会在控制台输出找到的测试类信息:

mvn surefire:test -DdryRun=true

执行后你能在日志里看到类似这样的内容:

[INFO] --- maven-surefire-plugin:3.0.0:test (default-cli) @ your-project ---
[INFO] Tests are skipped.
[INFO] List of configured tests:
[INFO] com.example.MyFirstTest
[INFO] com.example.MySecondTest

从全限定类名就能反推出源码路径,比如com.example.MyFirstTest对应的就是src/test/java/com/example/MyFirstTest.java,这个路径规则在Maven项目里是通用的。

方法2:直接打印测试类列表

要是你只想快速拿到测试类的全限定名,用这条命令更直接——它会跳过测试执行,只输出Surefire识别到的所有测试类:

mvn surefire:test -DskipTests -Dsurefire.printTests

方法3:直接扫描源码目录

如果不想碰Maven命令,也可以用系统自带的命令行工具直接扫测试源码文件夹:

  • Linux/macOS下用find命令:
find src/test/java -name "*Test.java" -type f
  • Windows PowerShell下用这条:
Get-ChildItem -Path src/test/java -Filter *Test.java -Recurse -File

这种方式直接从源码目录捞所有测试类文件的绝对/相对路径,简单粗暴还靠谱。


补充一句:前两种方法依赖Surefire的默认规则(比如识别*Test.java、Test*.java这类命名的文件),如果你的项目有自定义的测试类命名规则也没关系,Surefire会自动遵循项目里已有的配置,不用你改pom.xml。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:33:35