2012-06-24 12 views
6

Estoy tratando de escribir una especificación rspec para probar que mi lógica es capaz de manejar una Net :: HTTPResponse particular que tiene el código de estado 401. Como yo ' m usando HTTParty, .get me devolverá una HTTPartyResponse y recuperaré Net :: HTTPResponse con la httparty_repsonse_object.response.Completar una solicitud http para devolver una HTTPartRespuesta con una Net :: HTTPResponse

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) 

Respuesta

4

me di cuenta de esto es la forma correcta

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

HTTParty se supone que analizar la respuesta HTTP engañado y me has devolver un HTTPartyResponse.

4

Puede utilizar Webmock, que apoya burlarse solicitudes HTTParty.

Cuestiones relacionadas