2012-06-24 32 views
6

Tôi đang cố gắng viết thông số rspec để kiểm tra xem logic của tôi có thể xử lý một Net :: HTTPResponse cụ thể có mã trạng thái 401. Như tôi ' m bằng cách sử dụng HTTParty, .get sẽ trả lại cho tôi một HTTPartyResponse và tôi sẽ truy xuất Net :: HTTPResponse với httparty_repsonse_object.response.Gửi yêu cầu http trả lại HTTPartyResponse bằng 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) 

Trả lời

4

tôi đã tìm ra đây là cách đúng

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

HTTParty là nghĩa vụ phải phân tích phản ứng http chế giễu và gửi lại cho tôi một HTTPartyResponse.

4

Bạn có thể sử dụng Webmock, hỗ trợ nhại yêu cầu HTTParty.

Các vấn đề liên quan