© Lonely/Shutterstock.com
PHP Magazin
Das JavaScript-Test-Framework auf dem Prüfstand

Test mit Jest

Wer JavaScript nicht automatisiert testet, handelt sich schon wegen des vergleichsweise offenen Sprachstandards über kurz oder lang gravierende Probleme ein. Mit Jest gibt es nun ein neues JavaScript-Test-Framework, das aus den Fehlern der alten zu lernen sucht.

Tam Hanna


Als sich der Autor dieser Zeilen in den frühen 2010er Jahren mehr als Hobby denn wegen ernsthafter dienstlicher Notwendigkeit mit JavaScript auseinandersetzte, lebte die Sprache im Allgemeinen in Browsern. Die Kämpfe zwischen Mozilla, Opera und dem Internet Explorer hatten dafür gesorgt, dass JavaScript Engines immer schneller wurden. Dadurch konnte man bisher am Server und auf einem nativen Client liegenden Code in Richtung der Cloud übertragen, was die Installation unnötig machte und technisch herausgeforderte Nutzer von den Supporthotlines fernhielt.

In der damaligen Zeit entstanden erste Frameworks, die damals allerdings auf die Arbeit mit webbasierten Inhalten optimiert waren. Produkte wie Node.js und andere Runtimes ließen sich damit, wenn überhaupt, nur unter großem Aufwand testen. Das Jest-Entwicklerteam möchte mit seinem Framework alles anders machen. Das beginnt damit, dass Dienste wie Babel und Node, aber auch die Frameworks Angular, React und Vue unterstützt werden. Neben der Ansage, dass sich Tests mit so gut wie keinem Konfigurationsaufwand einrichten lassen, verspricht man auch, dass die Isolation der einzelnen Testaufgaben in eigenen Threads Prüfungen von sehr großen Codebasen mit sehr hoher Performance bewerkstelligt. Zu guter Letzt betont die unter https://jestjs.io bereitstehende Webseite des Produkts auch noch, dass eine als Snapshot bezeichnete Funktion Vergleiche von Objekten gegen Referenzvorlagen mit geringem Aufwand erledigt. Kurzum gibt es einiges, was Entwickler freuen könnte – werfen wir also einen Blick auf das Produkt.

Eine Frage der Ausführungsumgebung

Die Dokumentation des Frameworks demonstriert die Verwendung des Produkts vorrangig unter Verwendung der Yarn-Arbeitsumgebung. Da wir in den folgenden Schritten unter Ubuntu 18.04 arbeiten, lässt sich die Installation durch den bekannten Dreikampf bestehend aus dem Addieren eines Schlüssels, dem Ausführen eines Skripts und dem Herunterladen eines Pakets bewerkstelligen:

t@t18:~$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-keyadd -t@t18:~$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee/etc/apt/sources.list.d/yarn.listt@t18:~$ sudo apt-get update && sudo apt-get install yarn

Yarn ist nicht nur unter Linux verfügbar. Das Entwicklerteam der Arbeitsumgebung stellt unter [1] Installationsanweisungen für andere Betriebssysteme bereit. Wer unter macOS oder Windows arbeiten möchte, muss nicht auf die Vorteile verzichten. Yarn orientiert sich von der Vorg...

PHP Magazin
Das JavaScript-Test-Framework auf dem Prüfstand

Test mit Jest

Wer JavaScript nicht automatisiert testet, handelt sich schon wegen des vergleichsweise offenen Sprachstandards über kurz oder lang gravierende Probleme ein. Mit Jest gibt es nun ein neues JavaScript-Test-Framework, das aus den Fehlern der alten zu lernen sucht.

Tam Hanna


Als sich der Autor dieser Zeilen in den frühen 2010er Jahren mehr als Hobby denn wegen ernsthafter dienstlicher Notwendigkeit mit JavaScript auseinandersetzte, lebte die Sprache im Allgemeinen in Browsern. Die Kämpfe zwischen Mozilla, Opera und dem Internet Explorer hatten dafür gesorgt, dass JavaScript Engines immer schneller wurden. Dadurch konnte man bisher am Server und auf einem nativen Client liegenden Code in Richtung der Cloud übertragen, was die Installation unnötig machte und technisch herausgeforderte Nutzer von den Supporthotlines fernhielt.

In der damaligen Zeit entstanden erste Frameworks, die damals allerdings auf die Arbeit mit webbasierten Inhalten optimiert waren. Produkte wie Node.js und andere Runtimes ließen sich damit, wenn überhaupt, nur unter großem Aufwand testen. Das Jest-Entwicklerteam möchte mit seinem Framework alles anders machen. Das beginnt damit, dass Dienste wie Babel und Node, aber auch die Frameworks Angular, React und Vue unterstützt werden. Neben der Ansage, dass sich Tests mit so gut wie keinem Konfigurationsaufwand einrichten lassen, verspricht man auch, dass die Isolation der einzelnen Testaufgaben in eigenen Threads Prüfungen von sehr großen Codebasen mit sehr hoher Performance bewerkstelligt. Zu guter Letzt betont die unter https://jestjs.io bereitstehende Webseite des Produkts auch noch, dass eine als Snapshot bezeichnete Funktion Vergleiche von Objekten gegen Referenzvorlagen mit geringem Aufwand erledigt. Kurzum gibt es einiges, was Entwickler freuen könnte – werfen wir also einen Blick auf das Produkt.

Eine Frage der Ausführungsumgebung

Die Dokumentation des Frameworks demonstriert die Verwendung des Produkts vorrangig unter Verwendung der Yarn-Arbeitsumgebung. Da wir in den folgenden Schritten unter Ubuntu 18.04 arbeiten, lässt sich die Installation durch den bekannten Dreikampf bestehend aus dem Addieren eines Schlüssels, dem Ausführen eines Skripts und dem Herunterladen eines Pakets bewerkstelligen:

t@t18:~$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-keyadd -t@t18:~$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee/etc/apt/sources.list.d/yarn.listt@t18:~$ sudo apt-get update && sudo apt-get install yarn

Yarn ist nicht nur unter Linux verfügbar. Das Entwicklerteam der Arbeitsumgebung stellt unter [1] Installationsanweisungen für andere Betriebssysteme bereit. Wer unter macOS oder Windows arbeiten möchte, muss nicht auf die Vorteile verzichten. Yarn orientiert sich von der Vorg...

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