【问题标题】:rails/VCR gem, same URI different method clashrails/VCR gem,相同的URI不同的方法冲突
【发布时间】:2014-04-20 09:21:44
【问题描述】:

我的 VCR 配置块是:

VCR.configure do |c|
  c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
  c.hook_into :webmock

  c.around_http_request(lambda { |req| req.uri =~ /google.com/ }) do |request|
    VCR.use_cassette(request.uri, :decode_compressed_response => true, &request)
  end
end

我的测试适用于 post/get/put 方法,但是当我尝试 DELETE 时,VCR 中存在冲突,因为它与之前的 PUT 请求匹配。这是因为该请求的 URI 与 DELETE 请求所需的 URI 相同。

如何更改我的 use_cassette 方法,使其使用 URI + 方法的组合? (或任何其他建议也欢迎!)

谢谢!

【问题讨论】:

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


    【解决方案1】:

    解决了,这可能对其他人有帮助,所以把它留在这里:

    VCR.use_cassette([request.uri,request.method].join.to_s, :match_requests_on => [:method, :uri], :decode_compressed_response => true, &request)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-22
      • 2014-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多