我的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 +方法? (或任何其他建议也欢迎!)
谢谢!
答案 0 :(得分:0)
解决了,这可能对其他人有所帮助,所以把它留在这里:
VCR.use_cassette([request.uri,request.method].join.to_s, :match_requests_on => [:method, :uri], :decode_compressed_response => true, &request)