【问题标题】:Rubocop and Capybara: detecting forgotten focus: :trueRubocop 和 Capybara:检测被遗忘的焦点::true
【发布时间】:2017-11-22 09:59:41
【问题描述】:

作为一名 Rails 开发人员,我习惯在我的 CI 上使用 Rubocop,我喜欢的基本功能之一是检测被遗忘的调试器条目,例如 byebug

还有一个很容易被遗忘的字符串:Capybara 功能规范中的:focusfocus: :true。它刚刚发生在我的团队中,我们正在寻找一种方法来防止它。

我见过rubocop-rspec,但显然没有涵盖该案例。

什么是最有效的选择?

【问题讨论】:

标签: ruby-on-rails capybara rubocop


【解决方案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

【讨论】:

【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 2011-11-19
    • 1970-01-01
    相关资源
    最近更新 更多