使用guard-rspec时如何忽略rubocop检查?

时间:2015-04-17 06:05:20

标签: ruby-on-rails ruby rspec guard rubocop

当我添加guard-rspec gem时,将Guardfile设置为:

guard :rspec, cmd: 'bundle exec rspec' do
  watch('spec/spec_helper.rb')                        { "spec" }
  watch('config/routes.rb')                           { "spec/routing" }
  watch('app/controllers/application_controller.rb')  { "spec/controllers" }
  watch(%r{^spec/.+_spec\.rb$})
end

然后运行rubocop检查:

rake rubocop:rubocop

显示:

Guardfile:5:9: C: Use %r only for regular expressions matching more than 1 '/' character.
watch(%r{^spec/.+_spec\.rb$})
      ^^^^^^^^^^^^^^^^^^^^^^

我是否应该尝试找到重写常规代码或将忽略代码写入.rubocop.yml文件的方法?

2 个答案:

答案 0 :(得分:1)

我改为watch(%r{^spec/(.*)/(.*)\.rb$}),然后就过去了。

答案 1 :(得分:1)

Rubocop告诉您,只有当正则表达式本身包含多于1个%r{}字符时,才应使用扩展正则表达式/。否则,您应使用//表示法并转义/符号

您可以将行重写为watch(/^spec\/.+_spec\.rb$/),以便在不更改正则表达式本身的情况下删除警告