我想知道是否有可能在运行时(即在 spec_helper.rb 中)找出正在执行的规范(即请求、功能等)?
非常感谢!
如果您想为特定类型的规范添加类似 before 过滤器的内容,请考虑编写:
RSpec.configure do |config|
config.before(:each, type: :request) do
# request-spec only before hook
end
end
如果您尝试做一些更复杂的事情,您可以通过 访问当前示例的类型example.metadata[:type]
。
rspec/rails
项目做出这种区分的方式是检查文件路径。
例如,请求规范将具有匹配的文件路径/spec\/request/
。