ユニットテストのためにCurbのEasy.performメソッドをモックアウトする方法はありますか?これを使用してFacebookのグラフAPIをヒットしましたが、どのhttpモックライブラリもCurbをサポートしていないようです。
ここでの最善のアプローチは何ですか?
ユニットテストのためにCurbのEasy.performメソッドをモックアウトする方法はありますか?これを使用してFacebookのグラフAPIをヒットしましたが、どのhttpモックライブラリもCurbをサポートしていないようです。
ここでの最善のアプローチは何ですか?
WebMockは最近Curbサポートを追加しました。:)
fakeWebは、ネットワーク呼び出しを偽造するための優れた方法だと思います。使用するHTTPライブラリが何であれ、受信する応答テキストとコードを指定するだけです。
記述:
FakeWebは、RubyでWebリクエストを偽造するためのヘルパーです。コードを変更したり、広範なスタブを記述したりすることなく、グローバルレベルで機能します
githubリポジトリからの例:
FakeWeb.register_uri(:get, "http://example.com/test1", :string => "Hello World!")
Net::HTTP.get(URI.parse("http://example.com/test1"))
=> "Hello World!"
Net::HTTP.get(URI.parse("http://example.com/test2"))
=> FakeWeb is bypassed and the response from a real request is returned