使用WebMock验证HTTPS调用

时间:2014-01-26 19:58:44

标签: ruby-on-rails ruby rspec webmock

我想使用https存档webmock。 我们假设网关网址为https://some_gateway.com

完成后:

stub_request(:post, 'https://some_gateway.com').with(body: {})

在规格中。

我使用Net :: HTTP生成请求:

 Net::HTTP.post_form(URI.parse('https://some_gateway.com'), {})

我收到问题是因为Webmock期望https://some_gateway.com但是收到带有添加端口433的版本所以:http://www.secure.fake-payment.com:443/gateway_prod所以看不到注册的存根。

我该如何处理这种行为?

1 个答案:

答案 0 :(得分:1)

看看这个问题的答案:WebMock: Rspec - Test Facebook Validation by using JSON response

您的代码将通过端口443与真实http

进行https请求
Net::HTTP.post_form(URI.parse('https://some_gateway.com'), {})

在这里,您可以找到使用Net :: HTTP进行https请求的答案 Using Net::HTTP.get for an https url