EMZETT.
Login

Snapshot-Tests

Kurz: Ein Snapshot-Test speichert die Ausgabe eines Programmteils einmal als Referenz und vergleicht sie bei späteren Läufen mit dem neuen Ergebnis.

Genauer: Statt jeden Wert einzeln zu prüfen, wird zum Beispiel das gerenderte HTML einer Komponente als Datei abgelegt. Ändert sich die Ausgabe, schlägt der Test fehl, und man entscheidet: unbeabsichtigter Fehler oder gewollte Änderung (dann Snapshot aktualisieren).

Im Detail

  • Gut für: Große, stabile Ausgaben wie Fehlermeldungen, serialisierte Daten oder Berichte.
  • Risiko: Riesige Snapshots werden beim Aktualisieren ungelesen bestätigt und verlieren ihren Wert.
  • Klein halten: Lieber gezielte Ausschnitte als ganze Seiten festhalten.
  • Instabile Werte: Zeitstempel und Zufalls-IDs vorher durch feste Platzhalter ersetzen.
  • Visuelle Variante: Bildvergleich von Screenshots erkennt Layout-Fehler, ist aber empfindlich gegenüber Schriften und Rendering-Unterschieden.

Siehe auch: Property-Based Testing