IntelliJ IDEA多模块项目运行全部测试仅执行单模块测试问题咨询
解决IntelliJ IDEA多模块项目顶层运行所有测试仅执行单个模块的问题
这绝对不是IDEA的默认设计,正常情况下右键顶层项目执行"Run All Tests"应该会扫描并运行所有模块里的测试用例。你遇到的问题大概率是顶层项目的运行配置里的测试搜索范围没设置对,下面是具体的排查和解决步骤:
核心问题定位:Run Configuration的测试搜索范围错误
你提到顶层项目的Run配置中"Search for tests"选项未正确配置,这正是关键所在。默认情况下,右键顶层项目创建"Run All Tests"配置时,这个选项应该被设置为In whole project,但可能因为手动修改、IDEA自动配置时的小bug,变成了仅针对单个模块。
具体修复步骤
- 点击IDEA右上角的运行配置下拉菜单,选择
Edit Configurations... - 在弹出的窗口中,找到对应顶层项目的测试配置(通常名字类似
java8-playground All Tests) - 切换到Configuration标签页,找到
Search for tests选项 - 将其从当前的选项(比如
In single module或者指定了anyMatch模块)修改为In whole project - 点击
Apply保存配置,然后重新右键顶层项目执行"Run All Tests"
额外排查点(如果上述步骤未解决)
- 确认两个模块的测试目录都被标记为Test Sources Root:右键测试目录(比如
src/test/java),选择Mark Directory as->Test Sources Root,标记后文件夹会变成蓝色,IDEA才会识别里面的测试类 - 检查构建工具配置:如果是Gradle项目,确认每个模块的
build.gradle都正确引入了JUnit5依赖,顶层项目的配置没有排除某个模块的测试任务;Maven项目同理,检查pom.xml的依赖和插件配置 - 用构建工具命令验证:在终端执行
./gradlew test(Gradle)或者mvn test(Maven),如果命令能跑所有测试,说明是IDEA的配置问题,再回到上面的步骤检查Run配置
内容的提问来源于stack exchange,提问作者Simeon Leyzerzon




