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