前置き
お仕事先のPJで大量にスクリーンショットを撮っているテストを見て、本当にこれ必要なのかな? スクリーンショットってテストがコケた時だけ必要なんじゃね?と思い、RSpecのテストがコケた時にスクリーンショットを撮るようやってみました。
やったこと
specフォルダ直下にあるspec_helper.rbに対して、以下の様に書いてみます。
spec_helper.rb
RSpec.configure do |config|
config.after do |example|
if example.metadata[:type] == :feature and example.exception
page.save_screenshot 'screenshot/テスト失敗時スクリーンショット.png'
end
end
end
簡単! 1つのfeatureを回し終わった後にエラーがあればCapybaraでスクリーンショットを撮る感じですね。