- 公開日: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のコントローラーのテストが実行できます。
以上です
0 件のコメント:
コメントを投稿