RuboCop中如何基于父目录名称排除指定待扫描文件?
问题解答
你提到的'**/test/**/*.rb'规则完全可以实现需求,RuboCop的排除配置原生支持标准Unix glob语法,其中**通配符可匹配任意层级的目录结构,该规则可以命中所有路径中包含test目录的.rb文件,无论test目录处于目录结构的哪一层级。
配置方式
根据你的使用场景可以选择两种配置方案:
- 全局排除所有Cop扫描test目录下的文件,直接在
.rubocop.yml的AllCops配置块下添加规则即可:
AllCops: Exclude: - '**/test/**/*.rb' # 其他全局排除规则可继续往下添加
- 仅你的自定义Cop排除test目录下的文件,其他Cop正常扫描,将规则添加到对应自定义Cop的配置块下即可:
# 替换为你自定义Cop的实际名称 Custom/YourCustomCop: Exclude: - '**/test/**/*.rb'
验证方法
配置完成后可执行rubocop --list-target-files命令查看最终会被扫描的文件列表,验证test目录下的目标文件是否已被正确排除。
内容的提问来源于stack exchange,提问作者tas50
相关产品推荐
相关产品推荐

