Less is Best

rubyが好き。技術の話とスタートアップに興味があります。

capybaraでajaxなテストをする。

Twitterみたいな、もっとみる機能を作っていたのですが、その処理をajaxにしたらテストがよくわからない状態に変貌を遂げました。

フツーにrspecajax処理をテストしようとしたら、なにかおかしい。

どうやらまた新しいgemをインストールしなければいけないようだ。

RSpecとCapybaraでJavaScript/Ajaxをテストする

Capybara の README 意訳

まずはこれ入れろとどやされる

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絡むとまた厄介なことになるようです。 そっちも要注意ですね。