0

http呼び出しにrspecを実装しようとしています...しかし、これまでのところ成功していません..

http = Net::HTTP.new("secured site url", "443")
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE  
response = http.get("/query params",initheader = {'Accept' =>'application/xml'})
return response 

これにはrspecが必要です..これは初めてですが、多くの方法を試しましたが、期待されると表示されます: 1回受信: 0回

ここに私が書いたすべてのものがあります:

it "should be success" do
  @mock_http = mock("http")
  @mock_http.should_receive(:new).with("secured site url")
end 

私が間違っている場合は修正してください..どんな助けも大歓迎です! ありがとう

4

1 に答える 1

1

もちろん、新しいステートメントが呼び出されるメソッドをアクティブにする必要があるため、コードは次のようになります。

it "should be success" do
  @mock_http = mock("http")
  Net::HTTP.should_receive(:new).with("secured site url", "443")
  some_method
end

def some_method
  http = Net::HTTP.new("secured site url", "443")
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE  
  response = http.get("/query params",initheader = {'Accept' =>'application/xml'})
  return response 
end
于 2013-01-08T13:38:43.923 に答える