JavaScript-Testing-Framework Jest landet bei der OpenJS Foundation

Die Verantwortung für eins der populärsten Testwerkzeuge für JavaScript wandert von Meta zu der unter dem Dach der Linux Foundation geführten OpenJS Foundation.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen

(Bild: Trismegist san/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Meta hat das Testing-Framework Jest an die OpenJS Foundation übergeben. Das Open-Source-Framework gehört zu den verbreitetsten Werkzeugen für JavaScript-Tests. Es hat zum Zeitpunkt der Übergabe gut 38.000 Stars auf GitHub und kommt laut dem OpenJS-Blog wöchentlich auf über 17 Millionen Downloads.

Das Framework erhält den Status Impact Project, der höchsten von vier Stufen bei der OpenJS Foundation, die großen, ausgereiften Projekten vorbehalten ist. Neben dem beim Schreiben dieser Meldung noch nicht aufgeführten Jest finden sich Appium, Dojo, Electron, jQuery, Node.js und webpack auf der Liste der Impact Projects.

Jest zielt vor allem auf einfache Anwendung und arbeitet mit zahlreichen JavaScript-Frameworks wie Angular, Vue und dem ebenfalls aus dem Facebook-Repertoire stammenden React zusammen. Es lässt sich sowohl im Zusammenspiel mit klassischem JavaScript als auch mit Node.js und TypeScript verwenden.

Das Framework bietet eine flexible API für unterschiedliche Anwendungsfälle. Der Name und das Logo spielen auf den Jester an, also den Narren. Das GitHub-Repository und die Jest-Site zeigen das Symbol im Kartenspiel, womit es zum Joker, der klassischen Spielkarte mit dem Narren wird.

Jest spielt die Narrenkarte.

(Bild: Jest-Repository)

Jest deckt unterschiedliche Testszenarien ab. Dazu gehört das Mocking, bei dem es Objekte außerhalb des Test-Scopes durch Mock-Objekte ersetzt, die vorgegebene Ergebnisse liefern. Über Snapshots lassen sich Komponenten im Betrieb mit einer vorab erstellten Variante vergleichen. Auf Wunsch ermittelt das Framework durch Angabe des Flags --coverage die Codeabdeckung.

heise-Konferenz zu Enterprise-JavaScript

heise Developer und dpunkt.verlag richten am 22. und 23. Juni 2022 die enterJS im Darmstadtium in Darmstadt aus. Die JavaScript-Konferenz bietet zahlreiche Vorträge und Workshops zu JavaScript im Allgemeinen, die Frameworks (Angular, Node.js, React und Svelte) im Speziellen sowie TypeScript, Tools und Techniken rund um die Programmiersprache.

Zum Thema Testing finden sich die folgenden Vorträge im Programm:

Weitere Informationen zur enterJS sowie Zugang zu den Tickets bietet die Konferenzwebseite.

Ende April hat Meta Jest 28 veröffentlicht. Ursprünglich hatte das seinerzeit noch als Facebook geführte Unternehmen das Projekt 2011 unter dem internen Namen jst gestartet, weil es für die neue Implementation der Chat-Funktion in JavaScript ein passendes Testwerkzeug benötigte. 2014 erfolgte die Open-Source-Legung. Zunächst kümmerten sich Facebook-Mitarbeiter nebenbei um das Projekt, aber 2016 übernahm Christoph Nakazawa die Verantwortung und überarbeitete Jest mit einem festen Team.

Mit der Zeit beteiligten sich wohl mehr und mehr externe Entwicklerinnen und Entwickler am Projekt, worauf Facebook 2018 die Jest Open Collective ins Leben rief, um die Entwicklung zu fördern. Seitdem kamen laut Meta 70.000 US-Dollar an Fördergeldern für die Open-Source-Community zusammen. Inzwischen ist keiner der Core Contributors bei Meta angestellt, und seit 2018 stammen wohl nahezu alle Beiträge zum Projekt von Externen.

(Bild: OpenJS Foundation)

Damit ist die Übergabe an die OpenJS Foundation ein konsequenter nächster Schritt. Die Stiftung entstand 2019 als Zusammenschluss der Node.js Foundation und der JS Foundation. Sie steht wie die beiden Ursprungsorganisationen unter dem Dach der Linux Foundation.

Die OpenJS Foundation will Jest ohne Änderungen für die Entwicklung oder die Releases weiterführen. Auch das für das Framework verantwortliche Kernteam bleibt unverändert. In den nächsten Monaten gilt es jedoch, die Checkliste für die Voraussetzungen bei der Stiftung abzuarbeiten sowie den Code of Conduct und die Lizenzvereinbarung anzupassen.

Weitere Details lassen sich den Blogbeiträgen der OpenJS Foundation und des Open-Source-Teams bei Meta entnehmen.

(rme)