10

我正在尝试编写一个 rspec 规范来测试我的逻辑是否能够处理具有状态代码 401 的特定 Net::HTTPResponse。当我使用 HTTParty 时,.get 将返回一个 HTTPartyResponse,我将检索Net::HTTPResponse 与 httparty_repsonse_object.response。

net_response_object = Net::HTTPResponse.new(1.1, 401, 'Forbidden')
#not sure what to do here? write a test double to return a net_response_object?
stub_request(:any, /hello.com/).to_return(a_http_party_response_object)
4

2 回答 2

8

我发现这是正确的方法

it 'will test this' do
   stub_request(:any, /hello.com/).to_return(:status => [401, "Forbidden"])
   ...
end

HTTParty 应该解析模拟的 http 响应并返回一个 HTTPartyResponse。

于 2012-07-14T01:42:22.623 回答
5

您可以使用Webmock,它支持模拟 HTTParty 请求。

于 2012-07-12T04:14:12.640 回答