2012-02-06 16 views
3

誰かがRuby on RailsでAJAXをテストする方法をアドバイスできますか? 例:私はボタンをクリックして、TestController#newに行くクエリを作成し、そのメソッドにrespond_with(@test)とnew.js.erbがあります。ここではhtml形式です。 OK、私はこのリンク/ボタンをclick_toすることができます、xhrクエリは動作しますが、私はテストする必要がある応答を取得しません。Ruby on RailsでAJAXをテストするには?

これで何か助けてもらえますか? 私はRspecを使用しています。

答えて

1

あなたのAjaxリクエストに応じて、複数のレベルで実際にテストするのが最善でしょう。

コントローラーの応答をコントローラーテストでテストします。

ジャスミンのような純粋なJSテストフレームワークでこのレスポンスを正確に処理するJSをテストしてください。

キュウリ、またはインテグレーションrspec(capybara/seleniumの助けを借りて)のようなもので、アプリケーションを流れるフローをテストします。

4

Rails 4.2では、ajaxリクエストを送信するために、get、post、patch、put、またはdeleteメソッドを呼び出すには、キー "xhr:true"を持つオプションのハッシュ引数を設定します。たとえば :

get users_path + '?page=2', xhr: true 

、その後は更新されたページにいくつかのHTML要素を検証するためにassert_select使用しています。

関連する問題