生涯未熟

生涯未熟

プログラミングをちょこちょこと。

テストがコケた時にスクリーンショットを取る

前置き

お仕事先の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でスクリーンショットを撮る感じですね。