タグ

JavaScriptとcapybaraに関するhidemailのブックマーク (2)

  • Capybaraを使って、Rails+JavaScriptの非同期な統合テストを書く | POSTD

    上からも分かるように、ページの読み込みが完了する前に、テストでリンク探しを始めたのにも関わらず、Capybaraは優雅にインタラクションを処理しています。 しかし、Capybaraがこれらの非同期の問題を処理してくれるにもかかわらず、成功したり失敗したりする一貫性のないテストにいとも簡単に陥ってしまうのはなぜなのでしょう。 競合状態の数を最小限に抑えて、Capybara APIを正しく使用するには、いくつかのコツがあります。 最初に適合するエレメントを見つける 悪い例 first(".active").click まだページに.active要素がない場合、firstはnilを返し、クリックは失敗します。 良い例 # 完全に一致するものが欲しい場合 find(".active").click # ただ単に最初の要素がほしいだけの場合 find(".active", match: :first

  • PhantomJSとPoltergeistでHeadlessなJavascriptテスト環境を作る - リア充爆発日記

    RailsJavascript/CoffeeScriptをテストするときの決定版(にしたい)!Konachaの続き。 最初はブラウザリロードすればいいんだから、わざわざやらなくていいか、と思ったけど、当該環境がファントムとかポルターガイストとか中二病の諸症状を悪化させる瘴気にまみれていたため、やらざるを得なくなりました。 ところでヘッドレスとは、ただ単にGUIじゃないよ、というだけで、かっこつけてんじゃねーよとか最初は思ったけど冷静になってみると、別にそんなかっこよくもねーか、ということでとにかくそういうことで。 Rails前提の話です。 PhantomJSのインストール http://phantomjs.org/ PhantomJSが、そのヘッドレスブラウザの体。 macだとhomebrewで入る。 brew install phantomjsウィンドウズのかたはゲイツとかにインスト

    PhantomJSとPoltergeistでHeadlessなJavascriptテスト環境を作る - リア充爆発日記
  • 1