2016年1月4日月曜日

rspecでremote trueのajaxのテストを行う

  • 公開日:2016年01月04日

記事概要


railsでは簡単にajax処理を実装できます。しかし、rspecでテストを記載する場合は、通常のコントローラーのテスト実装方法と異なります。
その方法をまとめた記事です。
English

環境


  • ruby2.2.4
  • rails4.2.5
  • rspec

通常のコントローラのrspecでの実装


通常、railsでコントローラのテストを実行するときは、以下のように実装します。

/app/controller/test_controller.rb

post :confirm, @params

上記の例だと、

  • test_controller.rbの
  • confirmメソッドを
  • methodタイプpostで
  • パラメーター@params

を実行しています。
これがコントローラーの一般的なrspecの実装方法になります。
これをremote trueの機能を使ったajaxメソッド用のテストに書き換えます。

remote trueの機能を使ったコントローラの、ajaxメソッドのrspec実装


xhrを指定してやることで、コントローラのajaxメソッドを呼び出すことができます。

/app/controller/test_controller.rb

xhr :post, :confirm, @params

これだけでremote trueで記載したajaxのコントローラーのテストが実行できます。

以上です

Rails4の開発にオススメの本


Rubyの応用力をつけるのにオススメの本


運営サイト(railsで作成しています)


English

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...