テスト失敗時のスクショ撮りをRSpec + Capybaraで設定ほぼ不要でおまかせできたので紹介します。
Gemfile
に↓を書いてbundle install
し、
group :test do
gem 'capybara-screenshot'
end
rails_helper.rb
あたりに↓の記述を入れておけばOK
require 'capybara-screenshot/rspec'
実際には↓の箇所でテスト後のコールバックを登録してあって、内部で失敗かどうかを判定してtmp/capybara/
以下にhtmlとpngを保存してくれるようになっています。自動的にタイムスタンプとかもつけてくれます。
capybara-screenshot/rspec.rb#L93
スクリーンショットはsave_screenshot
でも取れるので、同じようなことを自分書いても大したことないコード量で済みますが、さくっと導入する分には便利なのでこっち使っちゃうほうが好きです。