我需要录像机跳过https://api.github.com/users/lapaty/starred调用真正的外部API,同时继续模仿类似于https://api.github.com/repos/lgs/elasticrepo的路径。
到目前为止,我尝试了以下几种方法,但都没有成功:
VCR.configure do |c|
...
c.ignore_hosts 'api.github.com/users/lapaty/starred'
end和
VCR.configure do |c|
...
c.ignore_request do |request|
URI(request.uri).uri == 'https://api.github.com/users/lapaty/starred'
end
end 发布于 2013-06-05 00:10:45
c.ignore_hosts 'api.github.com/users/lapaty/starred'永远不会工作,因为api.github.com/users/lapaty/starred不是主机。
对于您尝试的第二件事,URI(request.uri).uri部分是不必要的--您将字符串解析为uri,然后从中获得字符串表示(这应该只给出request.uri)。我认为这应该行得通:
VCR.configure do |c|
c.ignore_request do |request|
request.uri == 'https://api.github.com/users/lapaty/starred'
end
end如果它不工作,则表明URI字符串并不完全像您想象的那样是"https://api.github.com/users/lapaty/starred"。您可以在ignore_request块中添加一些puts日志记录,以查看正在发出什么请求,或者您可以使用VCR选项来详细了解VCR正在做什么以及为什么要做。
https://stackoverflow.com/questions/16901323
复制相似问题