如何在IntelliJ Idea中仅对单元及集成测试类执行全文检索?
IntelliJ IDEA 多模块Maven项目跨模块测试类全文检索方案
适用项目为标准目录结构的多模块Maven项目,每个模块目录结构如下:
- src/main/java
- src/main/resources
- src/test/java
- src/test/resources
需要检索的文件包括后缀为*Test.java、*IT.java的测试类,以及后缀为*DataHelper.java的测试辅助类,避免扫描main目录等无关路径。
方案1:临时单次搜索(无需额外配置)
- 按快捷键
Ctrl+Shift+F(Windows/Linux)/Cmd+Shift+F(Mac)唤起全文内容搜索,或者按两次Shift唤起全局搜索 - 搜索窗口的「Scope」栏选择默认自带的
Test选项,该范围默认包含所有模块下test目录的全部文件,自动排除main目录内容 - 勾选「File mask」选项,输入框填入:
*Test.java,*IT.java,*DataHelper.java(逗号分隔多个通配符即可实现「或」匹配逻辑) - 执行搜索即可,返回结果仅包含符合要求的测试相关文件
提示:IDEA的File Mask本身支持逗号分隔多个通配符实现「或」逻辑,仅在需要同时搭配目录、文件类型等多维度复杂逻辑过滤时,才需要自定义Scope规则。
方案2:自定义永久搜索范围(多次使用推荐)
如果经常需要执行该类搜索,可以自定义专属搜索范围,后续不用每次手动填File mask:
- 打开任意搜索窗口,点击「Scope」栏右侧的
...按钮进入范围配置页 - 点击左上角
+号,选择「Local」,为该范围设置名称,例如指定测试类范围 - 在「Pattern」输入框填入以下规则:
file:*Test.java||file:*IT.java||file:*DataHelper.java&&src[test]:*/
规则说明:||实现文件名后缀的或匹配,&&src[test]:*/限制仅匹配所有模块下的test源码目录,完全排除main目录等无关路径
4. 点击「Apply」保存配置,后续搜索只需在Scope下拉框选中该自定义范围即可直接检索,无需其他额外设置
内容的提问来源于stack exchange,提问作者Nikolas
相关产品推荐
相关产品推荐

