TL;DR

JSON や HTML などのレンダリング結果を、以前のテスト実行時に保存したスナップショットと比べるテスト。Golden Test とも呼ぶ。

なぜ必要か

アプリケーションの出力が変わったときに、その変更を人間が目で確かめられるようにする手軽な方法である。

仕組み

テストを実行すると、出力を保存済みのスナップショットと比べる。一致しなければ差分を表示し、新しい内容でスナップショットを更新するかを尋ねるツールが多い。

Golden Test と呼ぶ場合は、保存したファイルを Golden File と呼ぶ。

例

自分の理解

Flutter や Go の文脈では Golden Test という言葉が使われ、JavaScript ではスナップショットテストと呼ぶことが多い気がする。

関連

出典