如何允许使用此路径的请求通过webmock?

时间:2017-02-15 20:16:21

标签: ruby webmock

我想模拟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/

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

1 个答案:

答案 0 :(得分:0)

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

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

您可以通过将您的webmock gem更新为最新的1.x或2.x

来修复此错误