Testing (jest --findRelatedTests – kann produktivitätshemmend wirken, wenn langsam)
Deploy Previews für einfache manuelle Inspekion von PRs
Test-Arten
Unit Tests: testen einzelner Komponenten → meist eher happy paths (Test auf mögliche Korrektheit statt mögliche Fehler, teilweise sinnfreie Tests, um code coverage limit zu treffen)
Integration Tests: Zusammenspiel verschiedener Komponenten zu einem aus Nutzerperspektive mehr oder weniger abgeschlossenen Feature (rendern von Komponenten-Bäumen in vereinfachter Test-Umgebung, um gegen erwartete Ausgabe zu prüfen)
End-to-end-tests: Emulation echter BenutzerInnen und möglichst realer Umgebung. Also Ausführen einer kompletten App in einer realistischen Browser-Umgebung
Test-Verteilung
Empfehlung
festes Fundament an statischer Testinfrastruktur (Nutzung von Lintern, IDE- und CI-Integration)
wenig Unit Tests
hauptsächlich Integration Tests: sweet spot / goldilocks zone zwischen Aufwand und Test-Abdeckung / Risikominimierung