Capybara + Poltergeist で E2E テストを動かしてるときに console.log
が標準出力に表示されてしまって,RSpec の結果が非常に見にくかった.
teampoltergeist/poltergeist · GitHub にあるドキュメントを呼んだら phantomjs_logger
オプションで制御できることがわかったので試してみた.
:phantomjs_logger (IO object) - Where the STDOUT from PhantomJS is written to. This is where your console.log statements will show up. Default: STDOUT
console.log を捨てる
spec_helper.rb
で以下のように定義する.今回は /dev/null
に捨ててるけど,別のログファイルに残すこともできる.とは言え,そもそも console.log
が出力されてること自体が微妙なので,消したいなーという気もしている.
Capybara.register_driver :poltergeist do |app| options = { phantomjs_logger: Logger.new('/dev/null') } Capybara::Poltergeist::Driver.new(app, options) end