【问题标题】:rspec before(:each) hook - conditionally applyrspec before(:each) hook - 有条件地应用
【发布时间】:2015-05-19 14:51:42
【问题描述】:

我在我的rails_helper.rb 中有关注:

RSpec.configure do |config|
  # ...
  config.before(:each, type: :controller) do
    # SOMETHING
  end
end

我想定义此SOMETHING 将适用的目录(在我的情况下,仅适用于spec/controllers/api 目录下的文件)。

有机会实现吗?

【问题讨论】:

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


    【解决方案1】:

    您可以为您的RSpec filter 使用更专业的名称:

    RSpec.configure do |config|
      # ...
      config.before(:each, :subtype => :controllers_api) do
        # SOMETHING
      end
    end
    

    然后在spec/controllers/api 的 RSpec 示例中,添加一些元数据:

    RSpec.describe "something", :subtype => :controllers_api do
    end
    

    这个SOMETHING 应该只在具有:subtype => :controllers_api 元数据的示例上运行。我没有使用:type,因为它可能定义了其他行为。

    【讨论】:

      猜你喜欢
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2019-12-28
      • 2021-03-17
      • 1970-01-01
      相关资源
      最近更新 更多