当我添加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
文件的方法?
答案 0 :(得分:1)
我改为watch(%r{^spec/(.*)/(.*)\.rb$})
,然后就过去了。
答案 1 :(得分:1)
Rubocop告诉您,只有当正则表达式本身包含多于1个%r{}
字符时,才应使用扩展正则表达式/
。否则,您应使用//
表示法并转义/
符号
您可以将行重写为watch(/^spec\/.+_spec\.rb$/)
,以便在不更改正则表达式本身的情况下删除警告