スナップショットテストとは?
スナップショットテストは、レンダリングされたコンポーネントツリーのような出力のシリアライズ表現を初回実行時に取得して保存します。以降の実行では、新しい出力を保存済みのスナップショットと比較し、いかなる差異でも失敗します。予期しないUIの変更を検出するために、フロントエンドテストで人気の手法です。
なぜ重要か
スナップショットテストは大きな出力を偶発的な変更から安価に守りますが、誤用しやすくもあります。反射的にスナップショットを更新したくなる開発者は、失敗するテストを単なる形式的な承認に変えてしまいます。各スナップショットのdiffをレビューするなど慎重に扱えば、明示的なアサーションが見逃すかもしれないリグレッションを捉えます。
関連する概念
- ゴールデンファイルはより広く、フレームワークに依存しない考え方
- 反射的なスナップショット更新はテストを台無しにする
- コンポーネントテストやUIテストでよく使われる
関連ガイド
What Is a Golden File?A golden file is a stored reference output that a test compares against, flagging any difference as a failure…
What Is a Regression Test?A regression test verifies that previously working functionality still works after a change, catching newly i…
What Is a Property-Based Test?A property-based test checks that a property holds across many automatically generated inputs, rather than as…