【问题标题】:Run block once before all capybara tests在所有 capybara 测试之前运行一次块
【发布时间】:2015-06-19 19:48:22
【问题描述】:

我正在使用 Capybara 和 Rspec 来集成测试 Rails 应用程序。有没有办法在第一次 Capybara 测试运行之前运行一次之前的块,而不在每个功能规范之前运行它?在我的 RSpec.configure 块中放置一个块会导致它在每个功能规范之前运行:

RSpec.configure do |config|
    config.before(:all, type: :feature) do
      # do some stuff
    end
end

【问题讨论】:

    标签: ruby-on-rails ruby rspec capybara


    【解决方案1】:
    RSpec.configure do |config|
        config.before(:suite) do
          # do some stuff
        end
    end
    

    【讨论】:

      【解决方案2】:

      我认为你过度设计了这项任务。既然你要运行它一次,那就运行它吧:

      cb = lambda { puts 'I am run once' }
      RSpec.configure do |config|
        cb.call
      end
      

      【讨论】:

      • 我没想过这样做,因为我需要 capybara dsl 来运行我需要的命令,但后来我意识到我仍然可以从 spec_helper 中访问它们,只需在它们前面加上“Capybara” .谢谢!
      • ...或者通过包含各自的Capybara::DSL 或其他任何名称,我目前无法访问源代码。欢迎。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-01
      • 2020-03-04
      • 2021-10-06
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2021-09-30
      相关资源
      最近更新 更多