Ruby on rails Rubocop和水豚:检测遗忘焦点::真

Ruby on rails Rubocop和水豚:检测遗忘焦点::真,ruby-on-rails,capybara,rubocop,Ruby On Rails,Capybara,Rubocop,作为一名Rails开发人员,我已经习惯了在我的CI上使用Rubocop,我喜欢的一个基本特性是检测被遗忘的调试器条目,如byebug 还有一个字符串很容易被忘记::focus或《水豚》功能规范中的focus::true。这件事刚刚发生在我的团队中,我们正在寻找一种方法来防止它 我看过了,但很明显,这件事不包括在内 什么是最有效的选项?已经检查了焦点:true和焦点。确保你的小组没有让警察瘫痪 # bad describe MyClass, focus: true do end # bad de

作为一名Rails开发人员,我已经习惯了在我的CI上使用Rubocop,我喜欢的一个基本特性是检测被遗忘的调试器条目,如
byebug

还有一个字符串很容易被忘记:
:focus
或《水豚》功能规范中的
focus::true
。这件事刚刚发生在我的团队中,我们正在寻找一种方法来防止它

我看过了,但很明显,这件事不包括在内

什么是最有效的选项?

已经检查了
焦点:true
焦点
。确保你的小组没有让警察瘫痪

# bad
describe MyClass, focus: true do
end

# bad
describe MyClass, :focus do
end

# good
fdescribe MyClass do
end

# good
describe MyClass do
end

将RSpec配置为忽略:focus也是一个好主意,这样即使留下了一个挥之不去的:focus,您的所有测试都可以运行。例如,可以在Travis上使用

RSpec.configure do |config|
  config.filter_run_including focus: true unless ENV['TRAVIS']
  config.run_all_when_everything_filtered = true
end

酷,这显然需要安装Rubocp rspec。我们还没有那个特定的库,但我们很快就会尝试!我不这么认为是因为,
rubocop rspec
没有出现在rubocop的运行时依赖项中:它似乎目前还没有被开发出来,但请看看这个。它可能仍在运行:Rubocp RSpec应涵盖: