おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

test

poltergeist で js のアラートを見る方法

公式では今のところ(2014/6/15)未サポートみたい。capybara-webkitでは page.driver.alert_messages などとして alert のメッセージ内容を見れる。Issue 見た感じ、コミッタ陣はリソースないのでプルリク待ちな模様。 https://github.com/teampoltergeist/po…

guard の結果を emacs に通知する

「ファイルの変更を検知してなにかするツール」のデファクトスタンダード、guard。みなさんもきっと使ってますよね? guard はよくテストを自動で実行させるのに使われます。修正を検知して自動でテストを実行してくれるだけでも便利ですが、テストの結果を…

timecop のちょっと便利な書き方について

みなさん、 timecop 使ってますか?timecop は、テストで時間を扱う時に必須と言えるライブラリです。テスト中の時間を止めたり(Timecop.freeze)時間を移動させたり(Timecop.travel)できます。似たようなライブラリとして delorean があります。RailsCasts …

factory_girl で関連先の属性を動的に設定して作成する方法

下記のような UserGroup, User, Blog があるとします。 # == Schema Information # # Table name: user_groups # # id :integer not null, primary key # name :string(255) # created_at :datetime not null # updated_at :datetime not null # class UserG…

capybara-webkitのインストールに失敗

JavaScript を使ったエンドツーエンドテストには capybara の selenium ドライバを使っています。JavaScript のテストが出来るのは大変便利なのですが、selenium を使うと firefox が立ち上がってガチャガチャとやるので遅いです。あとはテスト用のサーバを…

Capybara の README 意訳

注意 この訳はだいぶ古い(2011年7月時のREADME)です。最新版の訳をgithub上に載せたのでこちらをご覧ください。 はじめに Rails のエンドツーエンドテスト用のデファクトスタンダードプラグイン Capybara の README 意訳です。いつもと比べて直訳成分多めで…

capybara でサブドメインを利用したアプリのテストをするには

capybara のドライバによって設定の仕方は違うようですが、デフォルトの Rack::Test であれば Capybara.default_host = "en.example.com" のようにすることで、サブドメインへアクセスすることができるようになります。 参考 capybara with subdomains ― Gist

fixture代換プラグインMachinistの使い方

fixtureの代換となるプラグインMachinistの使い方のメモ。下記URLのREADMEの意訳です。notahat's machinist at master - GitHub インストール sudo gem install machinist --source http://gemcutter.org セットアップ spec/blueprints.rbに下記のように書き…