我想模拟NetHTTP请求,但应该允许一些。
require "open-uri"
require "webmock"
WebMock.enable!
当我声明这样的允许请求时:
WebMock.disable_net_connect! allow: /\Ahttps:\/\/graph\.facebook\.com\/v2\.8\/debug_token\?access_token=/
并致电:
open("https://graph.facebook.com/v2.8/debug_token?access_token=qwerty", &:read)
我明白了:
禁用HTTP连接。未注册的请求:使用标题获取https://graph.facebook.com/v2.8/debug_token?access_token=qwerty ...
您可以使用以下代码段存储此请求:
stub_request(:get, "https://graph.facebook.com/v2.8/debug_token?access_token=qwerty").
...
它也像这样的正则表达式失败了:
/\Ahttps:\/\/graph\.facebook\.com\//
但不会失败:
/\Ahttps:\/\/graph\.facebook\.com/
如何允许我最初想要的完整正则表达式?为什么即使主机名后的\/
无法匹配?
答案 0 :(得分:0)
使用open-uri时,您的Webmock版本(1.22.6)存在错误:
https://github.com/bblimke/webmock/issues/600
您可以通过将您的webmock gem更新为最新的1.x或2.x
来修复此错误