作为Rails开发人员,我习惯在我的CI上使用Rubocop,我喜欢的一个基本功能是检测忘记的调试器条目,例如byebug
。
还有一个很容易被遗忘的字符串:Capybara功能规格中的:focus
或focus: :true
。它发生在我的团队中,我们正在寻找一种方法来阻止它。
我见过rubocop-rspec,但显然案件未被涵盖。
什么是最有效的选择?
答案 0 :(得分:1)
Rubocop已检查focus: true
和:focus
。确保你的团队没有禁用警察。
# bad
describe MyClass, focus: true do
end
# bad
describe MyClass, :focus do
end
# good
fdescribe MyClass do
end
# good
describe MyClass do
end
答案 1 :(得分:1)
将RSpec配置为忽略是一个好主意:在使用CI时也要关注 - 所以即使留下了延迟:焦点,所有测试也会运行。例如,可以使用
在Travis上完成RSpec.configure do |config|
config.filter_run_including focus: true unless ENV['TRAVIS']
config.run_all_when_everything_filtered = true
end