4

当我添加一个guard-rspecgem 并将其设置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文件?

4

2 回答 2

1

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

于 2015-04-17T08:21:43.417 回答
1

Rubocop 告诉您扩展的正则表达式表示法%r{}仅应在正则表达式本身包含超过 1 个/字符时使用。否则,您应该使用//符号并转义/符号

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

于 2015-09-30T09:10:56.323 回答