0

我的 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 + 方法的组合?(或任何其他建议也欢迎!)

谢谢!

4

1 回答 1

0

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

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

于 2014-04-20T10:01:42.883 回答