在所有的水豚测试前运行一次

问题描述:

我正在使用水豚与Rspec进行集成测试Rails应用。在第一次Capybara测试运行之前,是否有任何方法可以在before block之前运行一次,而不在每个功能规范之前运行?在我的RSpec.configure块中放置一个块,这样会导致它在每个特征规范之前运行:在所有的水豚测试前运行一次

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

我认为您是在执行任务。既然你运行它一次,只要运行它:

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

我没有想到这样做,因为我需要的水豚DSL运行我所需要的命令,但后来我意识到我可以仍然可以通过简单地将它们添加到“水豚”中来从spec_helper中访问它们。谢谢! –

+0

......或者通过包含各自的“Capybara :: DSL”或任何它被称为,我目前无法访问源。欢迎。 – mudasobwa

RSpec.configure do |config| 
    config.before(:suite) do 
     # do some stuff 
    end 
end