1

我想模拟 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 连接被禁用。未注册的请求:GET https://graph.facebook.com/v2.8/debug_token?access_token=qwerty with headers ...
您可以使用以下代码段存根此请求:
stub_request(:get, "https://graph.facebook.com/v2.8/debug_token?access_token=qwerty").
...

像这样的正则表达式也会失败:

/\Ahttps:\/\/graph\.facebook\.com\//

但不会因此失败:

/\Ahttps:\/\/graph\.facebook\.com/

如何允许我最初想要的完整正则表达式?为什么即使是\/after 主机名也无法匹配?

4

1 回答 1

0

您的 Webmock (1.22.6) 版本在使用 open-uri 时存在错误:

https://github.com/bblimke/webmock/issues/600

您可以通过将 webmock gem 更新到最新的 1.x 或 2.x 来修复此错误

于 2017-02-15T21:22:49.277 回答