Willkommen bei Learn Testing!

In diesem Kurs werden die Tests für das Web vorgestellt und erläutert.

In diesem Kurs lernen Sie Folgendes:

  • Grundlagen des Testens
  • Automatisierte und manuelle Tests im Vergleich
  • Wo und wie die Tests durchgeführt werden
  • Best Practices
  • Die Testphilosophie des Testens, einschließlich dessen, was getestet werden sollte, wer verantwortlich ist und wie man das Testen eines Mittels bis zu einem Zweck und nicht als Ziel selbst betrachtet.

Der Kurs enthält auch prägnanten, praktischen Beispielcode, von dem Sie lernen können.

Der Kurs umfasst JavaScript und das Dokumentmodell im Frontend sowie Bibliothekstests im Backend, die in einer Umgebung wie Node.js ausgeführt werden. Es wird kein Testhintergrund vorausgesetzt, Sie benötigen jedoch JavaScript-Grundkenntnisse und Erfahrung mit Node.js oder ähnlichem. Sie eignet sich sowohl für Einsteiger als auch für erfahrene Entwickler.

Da die meisten Test-Frameworks und -Tools eine gemeinsame Sprache haben, verfolgt Learn Testing einen allgemeinen Testansatz. Wenn es wichtig ist, konkret zu sein, verwenden wir Vitest, ein immer beliebter werdendes Test-Framework, und zeigen, wie mit React oder Lit geschriebene Komponenten für das Web getestet werden. Weitere Informationen zu dieser Auswahl finden Sie im Anhang.

Sie können den Kurs von Anfang bis Ende durchgehen, ihn aber auch als Referenz für bestimmte Themen verwenden. Sofern relevant, enthält der Kurs Links zu Ressourcen.

Die folgenden Themen werden behandelt:

Erste Schritte mit den Tests

Was sind Tests?

Dies ist eine allgemeine Einführung in das Testen, einschließlich praktischer Beispiele für Tests in JavaScript. Außerdem finden Sie hier eine Einführung in den Umfang der einzelnen Tests.

Wo die Tests ausgeführt werden

Tests können Ihnen helfen, produktiv zu sein und Software effizient zu schreiben. Sie können sie zwar manuell über eine Befehlszeile ausführen, aber Sie können sie auch als Teil eines automatisierten Prozesses oder Build-Systems ausführen.

Die Testumgebung

Laufzeittools wie Node sind für allgemeinen Code. Testcode für den Browser kann entweder in einer emulierten Umgebung oder mit einem Framework für Browsertests ausgeführt werden.

Arten automatischer Tests

Hier erfahren Sie mehr über gängige Kategorisierungen von Testtypen, die größtenteils ihrem Umfang entsprechen. Wichtig ist, dass Testtypen keine strikte Definition haben und sich Ihren Anforderungen entsprechend ändern.

Was Sie testen sollten und Ihr Ansatz

Es kann eine schwierige Entscheidung sein, die wichtigsten Teile Ihrer Codebasis zu identifizieren, auf die Sie strenge Tests anwenden sollten. In diesem Modul wird das Konzept des Testens als Mittel zum Zweck vorgestellt. Außerdem erfahren Sie, wie Sie Ihren Code für den Test bewerten.

Komponententests in der Praxis

In diesem praktischen Modul erfahren Sie, wie Sie eine weniger gute React-Komponente testen. Vitest wird in drei verschiedenen Beispielen verwendet: Abfangen von Netzwerkverkehr mit fetch(), Mockieren einer externen Abhängigkeit und Verwendung von Context von React, um ein benutzerdefiniertes Code-Bit nur für den Test bereitzustellen.

Statische Analyse

Die Verwendung von Tools wie TypeScript und ESLint kann zwar keine etablierten Testmethoden bieten, bietet aber eine Art automatisierter Prüfung. In diesem Modul werden diese alternativen Tools erläutert.

Assertions und andere Primitive

Handelsmittel

Hier erfahren Sie mehr über die Primitiven, die in den meisten Testbibliotheken oder -Frameworks verwendet werden, einschließlich test() und assert, die die Hauptelemente jedes Tests sind, den Sie in JavaScript schreiben.

Bald verfügbar

  • Häufige Testfehler vermeiden
  • Test-Doubles
  • Testbibliotheken und -dienstprogramme
  • Test-Framework festlegen

Der Rest dieses Abschnitts enthält weitere Seiten zu Test-Frameworks und -Bibliotheken, zu ihrer Verwendung und zur Entscheidung, welches und welche anderen Tools verwendet werden sollen.

Demnächst: Problemorientierte Tests

Sie lernen Muster für eine Reihe gängiger Herausforderungen bei Webtests kennen.

Demnächst verfügbar: Automatisierte Tests in der Praxis

In diesem praktischen Abschnitt wird gezeigt, wie Sie eine E-Commerce-Website testen, die mit Next.js erstellt wurde. Dazu gehört auch Code, den Sie sich selbst ansehen und lernen können. Du lernst, wie du seine Komponenten testest, wie du mit externen Diensten (einschließlich der Bezahlung) für Tests arbeitest und wie du End-to-End-Tests für eine Website mit optionaler Anmeldeseite erstellst.

Demnächst: Die Philosophie des Testens

Tests können eine technische Herausforderung sein. Für ein Entwicklungsteam kann es aber auch eine Herausforderung sein, zu wissen, was getestet werden soll, wer verantwortlich ist und welche Best Practices es gibt.

Demnächst verfügbar: Überprüfbaren Code schreiben

Dieser Kurs bietet eine Anleitung zum Testen von Code in der vorliegenden Form. Ihr Team kann jedoch verschiedene Muster anwenden, um den Test des Codes zu erleichtern. In diesem Abschnitt werden einige Ansätze behandelt.