【スナップショットテスト】
スナップショットテスト とは?
💡 「今の状態」を写真に撮って保存——変わっていたらすぐわかる。
📌 このページのポイント
スナップショットテストって、スクリーンショットを撮るテストなの?
最初のスナップショットはどうやって作るの?
Jestで `toMatchSnapshot()` を使うと、初回実行時に `.snap` ファイルが自動生成されるよ。その内容が「正解」として記録されるんだ。
2回目以降はどうなるの?
出力が保存済みスナップショットと一致すればテスト通過、差分があれば失敗になるよ。意図した変更なら `--updateSnapshot` オプションでファイルを更新するんだ。
うっかり毎回更新してたら意味なくなりそうだね?
鋭いね!差分を確認せずに更新するのは一番よくないパターンだよ。スナップショットテストの価値は「意図しない変更を検知すること」にあるから、更新前に必ず差分の内容を理解することが大事なんだ。
どんなときに特に役立つの?
まとめ:ざっくりこれだけ覚えればOK!
「スナップショットテスト」って出てきたら「出力を丸ごと保存して変化を検知するテスト」と思えればだいたいOK!
📖 おまけ:英語の意味
「Snapshot Testing」 = スナップショットテスト
💬 Snapshot(スナップショット)は「瞬間を切り取った写真」という意味だよ。ある時点の出力を保存しておいて、あとで比較するのが由来なんだ。