1

私のRailsアプリはWebサービスを呼び出します。

私はFakeWebgemを使用して、次のようにURIを登録することにより、いくつかのテストでこれらの呼び出しを偽造しています。

FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)

テストごとに手動で設定するのではなく、テスト環境全体に対してこの偽の登録を設定するにはどうすればよいですか?

4

3 に答える 3

1

ほとんどの場合、それをspec/spec_helper.rbファイルに入れるとうまくいきます。私自身はFakeWebを使用していませんが、ここでグローバル初期化を行います。

于 2012-11-09T19:39:57.077 に答える
1

VCRrubygemを見てください。

テストスイートのHTTPインタラクションを記録し、テスト実行中にそれらを再生します。

于 2012-11-09T21:50:04.160 に答える
0

のファイルで、ブロック内をspec/support/呼び出します。register_uriBefore

Before do
  FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
end

私はこのトリックを使用してwebmockを使用してモック応答を設定しますが、これは魅力のように機能します。

于 2012-11-09T21:42:07.917 に答える