フォームの input フィールドの value 値を RSpec + Capybara でテスト

フォーム要素の input フィールドの value 値が正しい値となっているかをテストする方法。User モデルのビューでよくある感じの以下のような input フィールドを例とします。

スポンサーリンク

— 環境 —
rails-4.0.1
rspec-rails-2.14.0
capybara-2.2.0

should have_xpath を使う

これらのフォーム input フィールドの value 値が正しく出力されているか、あるいは空になっているかをテストしたいケースがありました。先に結論から言うと、実際に正しく動作したテストコードは以下。user が User モデルのオブジェクトとなっています。

have_css, have_selector では動かなかった

最初、have_css, have_selector を試したのですが、上手くテストが動作しませんでした。

これは以下のエラー。

have_selector に変えてみるも…

同様のエラー。

ということで、最初に紹介した XPath で指定する方法を利用しました。

スポンサーリンク
私は Rails のテストフレームワークには RSpec を使っています。サーバーのテスト用に Serverspec もおすすめです。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!