capybara + poltergeist は便利
capybara のドライバーのひとつ poltergeist には remote debugging という experimental な機能があり、テスト実行中のDOMの状態をブラウザからインスペクタでみれる。
使い方
使い方は簡単で、README にもあるように driver に inspector: true
を渡してあげ、
気になる部分に page.driver.debug
と書くだけ。
- spec_helper.rb
Capybara.register_driver :poltergeist do |app| Capybara::Poltergeist::Driver.new(app, :inspector => true) end Capybara.javascript_driver = :poltergeist
- hoge_spec.rb
feature 'ブログを書く', :js do scenario 'タイトルを入力すると自動で大文字になる' do fill_in 'post[title]', with: 'soymilk' page.driver.debug page.should have_content 'SOYMILK' end end
これでブラウザ上で debug
を差し込んだタイミングのコンテキストでインスペクタが使える!
最後に
Idobata のように、ガチガチにJavascriptを使っていて、わけもわからずテストが落ちて悩んだ時に便利!!!!(実体験)