【问题标题】: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,因为它可能定义了其他行为。