Skip to content
Latchkey

スナップショットテストとは?

スナップショットテストは、レンダリングされたコンポーネントツリーのような出力のシリアライズ表現を初回実行時に取得して保存します。以降の実行では、新しい出力を保存済みのスナップショットと比較し、いかなる差異でも失敗します。予期しないUIの変更を検出するために、フロントエンドテストで人気の手法です。

なぜ重要か

スナップショットテストは大きな出力を偶発的な変更から安価に守りますが、誤用しやすくもあります。反射的にスナップショットを更新したくなる開発者は、失敗するテストを単なる形式的な承認に変えてしまいます。各スナップショットのdiffをレビューするなど慎重に扱えば、明示的なアサーションが見逃すかもしれないリグレッションを捉えます。

関連する概念

  • ゴールデンファイルはより広く、フレームワークに依存しない考え方
  • 反射的なスナップショット更新はテストを台無しにする
  • コンポーネントテストやUIテストでよく使われる

関連ガイド