2017-07-31 72 views
0

包括共享方面的每一個規範我有一個共同的背景下如何在軌

shared_context :current_country do 
    let!(:country) { create :country, slug: "kw" } unless Country.find_by(slug: "kw").present? 
end 

要使用它,我需要include_context :current_country在每一個規範。是否有可能在每個規範中包含這個上下文,並且可以在任何地方添加(可能在某個地方像configure?)。我需要訪問每個規範中的國家/地區變量。

回答

1

你可以宣佈你的共享上下文

RSpec.shared_context "shared stuff" do 
    let!(:country) do 
    create :country, slug: "kw" 
    end unless Country.find_by(slug: "kw").present? 
end 

,並將其納入配置

RSpec.configure do |config| 
    config.include_context "shared stuff" 
end 
+0

雖然這樣可能要回答這個問題,也請提供一個簡短的說明你的代碼做了什麼,以及爲什麼它解決了最初的問題。 – user1438038