2015-06-19 54 views
2

我正在使用水豚與Rspec進行集成測試Rails應用。在第一次Capybara測試運行之前,是否有任何方法可以在before block之前運行一次,而不在每個功能規範之前運行?在我的RSpec.configure塊中放置一個塊,這樣會導致它在每個特徵規範之前運行:在所有的水豚測試前運行一次

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

回答

0

我認爲您是在執行任務。既然你運行它一次,只要運行它:

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

我沒有想到這樣做,因爲我需要的水豚DSL運行我所需要的命令,但後來我意識到我可以仍然可以通過簡單地將它們添加到「水豚」中來從spec_helper中訪問它們。謝謝! –

+0

......或者通過包含各自的「Capybara :: DSL」或任何它被稱爲,我目前無法訪問源。歡迎。 – mudasobwa

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