Testen
In React und Next.js gibt es verschiedene Arten von Tests, die jeweils einen eigenen Zweck und Anwendungsfall haben. Diese Seite bietet einen Überblick über Testtypen und häufig verwendete Tools, die Sie zum Testen Ihrer Anwendung nutzen können.
Testtypen
- Unittests umfassen das Testen einzelner Einheiten (oder Codeblöcke) in Isolation. In React kann eine Einheit eine einzelne Funktion, ein Hook oder eine Komponente sein.
- Komponententest ist eine fokussiertere Version des Unittests, bei der React-Komponenten das primäre Testobjekt sind. Dies kann das Testen der Rendering-Ausgabe, der Interaktion mit Props und des Verhaltens als Reaktion auf Benutzerereignisse umfassen.
- Integrationstests umfassen das Testen, wie mehrere Einheiten zusammenarbeiten. Dies kann eine Kombination von Komponenten, Hooks und Funktionen sein.
- End-to-End-(E2E-)Testing umfasst das Testen von Benutzerflows in einer Umgebung, die reale Benutzerszenarien simuliert, wie beispielsweise der Browser. Das bedeutet das Testen spezifischer Aufgaben (z. B. Registrierungsflow) in einer produktionsähnlichen Umgebung.
- Snapshot-Testing beinhaltet das Erfassen der gerenderten Ausgabe einer Komponente und das Speichern in einer Snapshot-Datei. Wenn Tests ausgeführt werden, wird die aktuelle gerenderte Ausgabe der Komponente mit dem gespeicherten Snapshot verglichen. Änderungen im Snapshot dienen zur Anzeige unerwarteter Verhaltensänderungen.
Asynchrone Serverkomponenten
Da asynchrone Serverkomponenten neu im React-Ökosystem sind, unterstützen einige Tools sie noch nicht vollständig. In der Zwischenzeit empfehlen wir End-to-End-Testing anstelle von Unittests für asynchrone Komponenten.
Anleitungen
Sehen Sie sich die folgenden Anleitungen an, um zu erfahren, wie Sie Next.js mit diesen häufig verwendeten Testtools einrichten:
Einrichten von Vitest mit Next.js
Erfahre, wie du Vitest mit Next.js für Unit-Tests einrichtest.
Jest mit Next.js einrichten
Lernen Sie, wie Sie Jest mit Next.js für Unit-Tests und Snapshot-Tests einrichten.
Playwright mit Next.js einrichten
Erfahren Sie, wie Sie Playwright mit Next.js für End-to-End (E2E) Tests einrichten.
Einrichten von Cypress mit Next.js
Erfahren Sie, wie Sie Cypress mit Next.js für End-to-End (E2E) und Komponententests einrichten.