RSpec - 以编程方式确定规范类型

时间:2012-12-06 00:54:29

标签: ruby-on-rails ruby rspec

我想知道是否有可能在运行时(即在spec_helper.rb中)找出正在执行的规范(即请求,功能等)?

非常感谢!

2 个答案:

答案 0 :(得分:3)

如果您希望仅针对特定类型的规范添加类似前置过滤器的内容,请考虑编写:

RSpec.configure do |config|
  config.before(:each, type: :request) do
    # request-spec only before hook
  end
end

如果您尝试执行更复杂的操作,可以通过example.metadata[:type]访问当前示例的类型。

答案 1 :(得分:0)

rspec/rails项目进行区分的方法是检查文件路径。

例如,请求规范将具有与/spec\/request/匹配的文件路径。