如何将共享上下文包含在rails中的每个规范中

时间:2017-07-31 19:20:10

标签: ruby-on-rails rspec rspec-rails

我有一个共享的上下文

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 个答案:

答案 0 :(得分:3)

您可以声明共享上下文

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