poltergeistでテストごとに設定を変更する方法
poltergeistはここにいろんな設定内容の説明が書いてある。
https://github.com/jonleighton/poltergeist#customization
で、今回js_errorsを一部のテストだけfalseにしたかったので、その方法を調べた。
何かそれようのメソッドがある感じじゃなかったので、ソースを追ってみたところ、js_errorsはdriver.browserのプロパティで、単純にbooleanをセットすればよいだけっぽかった。
https://github.com/jonleighton/poltergeist/blob/master/lib/capybara/poltergeist/driver.rb
結果、以下のようにして対応した。
spec_helper.rb
config.before(:each, js_errors: false) do |app| app.page.driver.browser.js_errors = false end config.after(:each, js_errors: false) do |app| app.page.driver.browser.js_errors = true end
各テスト
scenario 'some scenario', js: true, js_errors: false do ~snip~ end
各テストで設定しているjs_errorsとconfig.beforeなどで受けているjs_errorsはただの識別子なので、これが気に食わなければ別に何でもいい。
全部行けるかどうかわからないけど、driver.rbのoptionsの行方を追うと、だいたいの項目がこんな感じで対応できるんじゃないかな、と思う。
- 出版社/メーカー: エバニュー(EVERNEW)
- 発売日: 2012/06/13
- メディア: スポーツ用品
- クリック: 9回
- この商品を含むブログを見る