2012-06-24 15 views
6

के साथ HTTPartyResponse वापस करने के लिए एक HTTP अनुरोध को दबाएं, मैं यह जांचने के लिए एक आरएसपीसीसी स्पेक लिखने की कोशिश कर रहा हूं कि मेरा तर्क किसी विशेष नेट :: HTTPResponse को संभालने में सक्षम है जिसमें स्टेटस कोड 401 है। जैसा कि मैं ' मैं HTTParty का उपयोग कर रहा हूं, .get मुझे एक HTTPartyResponse वापस कर देगा और मैं netart HTTP_espsonse_object.response के साथ नेट :: HTTPResponse पुनर्प्राप्त करूंगा।नेट :: 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) 

उत्तर

4

मैं पता लगा यह सही तरीका

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

HTTParty मज़ाक उड़ाया HTTP प्रतिसाद पार्स और मुझे एक HTTPartyResponse वापस जाने के लिए आते है।

4

आप Webmock का उपयोग कर सकते हैं, जो HTTParty अनुरोधों का पालन करने का समर्थन करता है।