Übersicht
Approval Tests ist ein Testansatz in Dart, der die Ausgabe durch Vergleich mit genehmigten Referenzdateien überprüft. Inspiriert vom ApprovalTests-Muster vereinfacht es das Testen komplexer oder strukturierter Daten – wie JSON, HTML oder Protokolle – durch automatisches Erfassen und Validieren erwarteter Ausgaben. Entwickler schreiben Tests, die Ausgaben generieren, die anschließend überprüft und als korrekt „genehmigt“ werden. Zukünftige Testläufe vergleichen die neue Ausgabe mit der genehmigten Version und markieren Abweichungen. Besonders nützlich ist dies zur Reduzierung von Boilerplate in Integrationstests und End-to-End-Tests.
Anwendungsfälle
- Komplexe Ausgabe wie JSON oder HTML überprüfen
- UI-Snapshots überprüfen
- API-Antworten testen
- Automatisierung von Regressionstests
- Protokollausgaben überprüfen
Hauptmerkmale
- Automatischer Ausgabe-Approvals-Workflow
- Unterstützt mehrere Ausgabeformate
- Einfache Integration in bestehende Testsuiten
- Visuelle Differenzierung von Änderungen
- Einfache Einrichtung mit minimalem Code
Geeignet für
- Tester, die mit strukturierten Daten arbeiten
- Teams, die Regressionstests verwenden
- Entwickler, die eine wartungsarme Testüberprüfung suchen
- Projekte mit häufigen Ausgabewechseln
- CI/CD-Pipelines, die zuverlässige Ausgabekontrollen erfordern
Hinweise
- Benötigt manuelle Genehmigung der Ausgabe beim ersten Start
- Dateibasierte Speicherung kann die Repository-Größe erhöhen
- Nicht ideal für hochdynamische oder zufällige Daten
- Erfordert sorgfältige Behandlung in gemeinsam genutzten CI-Umgebungen
- Genehmigungen müssen vor dem Zusammenführen überprüft werden