capybaraでajaxなテストをする。
Twitterみたいな、もっとみる機能を作っていたのですが、その処理をajaxにしたらテストがよくわからない状態に変貌を遂げました。
フツーにrspecでajax処理をテストしようとしたら、なにかおかしい。
どうやらまた新しいgemをインストールしなければいけないようだ。
RSpecとCapybaraでJavaScript/Ajaxをテストする
まずはこれ入れろとどやされる
brew install qt
Gemfileに
gem "capybara-webkit"
を追加してbundle install
Capybara.javascript_driver = :webkit
これでどうやらしよう可能になるらしい。
context "after click もっとみる",js:true do it{should_not have_link('もっとみる')} end
で、無事にテスト通るようになりました。
どうやらDB絡むとまた厄介なことになるようです。 そっちも要注意ですね。