© saicle/Shutterstock.com
PHP Magazin
Teil 5: React testen - gute und stabile Applikationen entwickeln

Jest: Multitalent mit Ambitionen

Testwerkzeuge für JavaScript gibt es wie Sand am Meer. Die populärsten sind hier Jasmine und Mocha. Und doch hat es Facebook wieder getan: Sie haben das Rad neu erfunden, und wie schon bei ihrer Frontend Library React oder dem Paketmanager Yarn müssen sie auch hier den Vergleich mit den etablierten Lösungen nicht scheuen. Das Testframework, das von Facebook entwickelt wird, trägt den Namen Jest und ist ein weiterer Baustein im React-Ökosystem.

Sebastian Springer


ArtikelserieTeil 1: React – ein Blick unter die HaubeTeil 2: Redux – State-Management für ReactTeil 3: Native Applikationen mit React und Redux entwickelnTeil 4: Flow – Typsicherheit auf React-ArtTeil 5: React testen – gute und stabile Applikationen entwickeln

Wie bei den übrigen Werkzeugen aus dem Hause Facebook, haben die Entwickler auch bei Jest Weitsicht bewiesen, und so können Sie das Testframework mit beliebigen anderen Bibliotheken und Frameworks wie Angular oder jQuery einsetzen. Neben clientseitigem JavaScript kann Jest auch für serverseitiges Testen mit Node.js verwendet werden.

Trotz der Verfügbarkeit mächtiger Werkzeuge wie Jest wird in JavaScript-Applikationen nach wie vor viel zu wenig getestet. Das liegt zum einen an der Einstiegshürde beim Testen. Als Entwickler müssen Sie sich zunächst mit dem zu verwendenden Testframework beschäftigen und gegebenenfalls noch weitere Bibliotheken installieren. Abhängig vom Aufbau Ihrer Applikation nimmt auch die Konfiguration der Testumgebung einige Zeit in Anspruch, was dann gerade bei kleineren Projekten dazu führt, dass Tests auf einen späteren Zeitpunkt verschoben werden oder komplett wegfallen. Und das, obwohl gut durchdachte Tests die Verlässlichkeit und Stabilität einer Applikation während der Entwicklung und der gesamten Laufzeit der Applikation deutlich verbessern. Auch bei größeren Refactorings sind Tests unverzichtbare Helfer, da sie Sie vor unerwünschten Seiteneffekten eines Umbaus in einer Applikation bewahren können. An genau diesen Punkten setzt das Jest-Framework an und versucht, einige unserer größten Probleme zu lösen.

Jest ist ein klassisches Unit-Test-Framework und spielt damit in einer Liga mit den bereits erwähnten Werkzeugen Jasmine und Mocha. Im einfachsten Fall haben Sie eine Funktion, die eine bestimmte Eingabe erwartet und daraufhin eine Ausgabe erzeugt. Es ist aber auch möglich, leichtgewichtige Integrationstests beispielsweise für eine React-Applikation und deren Komponenten zu schreiben. Jest ist mittlerweile den Kinderschuhen entwachsen und wird in zahlreichen kleinen und großen Projekten produktiv eingesetzt. Neben Facebook selbst verwenden weitere bekannte Unternehmen wie Twitter, Airbnb, IBM, Xing und die NHL das Testframework.

Dieser Artikel widmet sich zunächst den Grundlagen von Jest und zeigt, wie Sie mit dem Framework Tests formulieren und ausführen können. Anschließend erfahren Sie, wie Sie bei der Formulierung von Tests für Ihre React- und Redux-Applikation vorgehen ...

PHP Magazin
Teil 5: React testen - gute und stabile Applikationen entwickeln

Jest: Multitalent mit Ambitionen

Testwerkzeuge für JavaScript gibt es wie Sand am Meer. Die populärsten sind hier Jasmine und Mocha. Und doch hat es Facebook wieder getan: Sie haben das Rad neu erfunden, und wie schon bei ihrer Frontend Library React oder dem Paketmanager Yarn müssen sie auch hier den Vergleich mit den etablierten Lösungen nicht scheuen. Das Testframework, das von Facebook entwickelt wird, trägt den Namen Jest und ist ein weiterer Baustein im React-Ökosystem.

Sebastian Springer


ArtikelserieTeil 1: React – ein Blick unter die HaubeTeil 2: Redux – State-Management für ReactTeil 3: Native Applikationen mit React und Redux entwickelnTeil 4: Flow – Typsicherheit auf React-ArtTeil 5: React testen – gute und stabile Applikationen entwickeln

Wie bei den übrigen Werkzeugen aus dem Hause Facebook, haben die Entwickler auch bei Jest Weitsicht bewiesen, und so können Sie das Testframework mit beliebigen anderen Bibliotheken und Frameworks wie Angular oder jQuery einsetzen. Neben clientseitigem JavaScript kann Jest auch für serverseitiges Testen mit Node.js verwendet werden.

Trotz der Verfügbarkeit mächtiger Werkzeuge wie Jest wird in JavaScript-Applikationen nach wie vor viel zu wenig getestet. Das liegt zum einen an der Einstiegshürde beim Testen. Als Entwickler müssen Sie sich zunächst mit dem zu verwendenden Testframework beschäftigen und gegebenenfalls noch weitere Bibliotheken installieren. Abhängig vom Aufbau Ihrer Applikation nimmt auch die Konfiguration der Testumgebung einige Zeit in Anspruch, was dann gerade bei kleineren Projekten dazu führt, dass Tests auf einen späteren Zeitpunkt verschoben werden oder komplett wegfallen. Und das, obwohl gut durchdachte Tests die Verlässlichkeit und Stabilität einer Applikation während der Entwicklung und der gesamten Laufzeit der Applikation deutlich verbessern. Auch bei größeren Refactorings sind Tests unverzichtbare Helfer, da sie Sie vor unerwünschten Seiteneffekten eines Umbaus in einer Applikation bewahren können. An genau diesen Punkten setzt das Jest-Framework an und versucht, einige unserer größten Probleme zu lösen.

Jest ist ein klassisches Unit-Test-Framework und spielt damit in einer Liga mit den bereits erwähnten Werkzeugen Jasmine und Mocha. Im einfachsten Fall haben Sie eine Funktion, die eine bestimmte Eingabe erwartet und daraufhin eine Ausgabe erzeugt. Es ist aber auch möglich, leichtgewichtige Integrationstests beispielsweise für eine React-Applikation und deren Komponenten zu schreiben. Jest ist mittlerweile den Kinderschuhen entwachsen und wird in zahlreichen kleinen und großen Projekten produktiv eingesetzt. Neben Facebook selbst verwenden weitere bekannte Unternehmen wie Twitter, Airbnb, IBM, Xing und die NHL das Testframework.

Dieser Artikel widmet sich zunächst den Grundlagen von Jest und zeigt, wie Sie mit dem Framework Tests formulieren und ausführen können. Anschließend erfahren Sie, wie Sie bei der Formulierung von Tests für Ihre React- und Redux-Applikation vorgehen ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang