私のRailsアプリはWebサービスを呼び出します。
私はFakeWebgemを使用して、次のようにURIを登録することにより、いくつかのテストでこれらの呼び出しを偽造しています。
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
テストごとに手動で設定するのではなく、テスト環境全体に対してこの偽の登録を設定するにはどうすればよいですか?
私のRailsアプリはWebサービスを呼び出します。
私はFakeWebgemを使用して、次のようにURIを登録することにより、いくつかのテストでこれらの呼び出しを偽造しています。
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
テストごとに手動で設定するのではなく、テスト環境全体に対してこの偽の登録を設定するにはどうすればよいですか?
ほとんどの場合、それをspec/spec_helper.rbファイルに入れるとうまくいきます。私自身はFakeWebを使用していませんが、ここでグローバル初期化を行います。
VCRrubygemを見てください。
テストスイートのHTTPインタラクションを記録し、テスト実行中にそれらを再生します。
のファイルで、ブロック内をspec/support/
呼び出します。register_uri
Before
Before do
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
end
私はこのトリックを使用してwebmockを使用してモック応答を設定しますが、これは魅力のように機能します。