Jest – Ein leistungsstarkes JavaScript-Test-Framework
Testen ist ein wesentlicher Bestandteil der Softwareentwicklung. Dadurch wird sichergestellt, dass der Code zuverlässig ist, wie erwartet funktioniert und die Fehlerwahrscheinlichkeit verringert wird. Test-Frameworks haben seit den Anfängen des manuellen Testens einen langen Weg zurückgelegt. Heutzutage machen automatisierte Test-Frameworks wie Jest das Testen in JavaScript zum Kinderspiel.
Was ist Jest Framework?
Jest ist ein JavaScript-Testframework, das schnell, einfach und benutzerfreundlich ist. Es handelt sich um ein von Facebook entwickeltes Open-Source-Tool, das häufig zum Testen von React-Anwendungen verwendet wird, aber auch mit anderen Frameworks wie Angular, Vue und Node.js verwendet werden kann. Jest basiert auf Jasmine , einem verhaltensgesteuerten Entwicklungsframework zum Testen von JavaScript-Code.
Funktionen des Jest Frameworks
- Schnelle und parallelisierte Tests : Jest führt Tests parallel aus, was den Testprozess erheblich beschleunigt.
- Snapshot-Tests : Mit Jest können Sie einen Snapshot der Ausgabe einer Komponente erstellen und ihn mit zukünftigen Änderungen vergleichen, um sicherzustellen, dass sich die Ausgabe nicht unerwartet geändert hat.
- Mocking und Spione : Jest bietet ein leistungsstarkes Mocking-System, mit dem Sie das Verhalten externer Abhängigkeiten oder Funktionen simulieren können, die schwer zu testen sind. Sie können Spione auch verwenden, um Funktionsaufrufe und Argumente zu verfolgen.
- Codeabdeckungsberichte : Jest generiert Codeabdeckungsberichte, die zeigen, wie viel von Ihrem Code von Ihren Tests abgedeckt wird. Dies hilft Ihnen, Bereiche Ihrer Codebasis zu identifizieren, die mehr Tests erfordern.
- Integrierter Test-Runner: Jest enthält einen Test-Runner, der Ihre Tests automatisch ausführt und detaillierte Ausgabe- und Fehlermeldungen bereitstellt.
- Einfache Konfiguration: Jest ist einfach zu konfigurieren und verfügt über sinnvolle Standardeinstellungen, die für die meisten Projekte funktionieren. Sie können Jest auch an Ihre spezifischen Bedürfnisse anpassen .
- Nullkonfiguration für kleine Projekte: Für kleine Projekte kann Jest ohne Konfiguration verwendet werden. Das bedeutet, dass Sie sofort mit dem Schreiben von Tests beginnen können, ohne sich um die Einrichtung kümmern zu müssen.
- Komplexität: Die Einrichtung und Konfiguration von Jest kann bei größeren Projekten komplex sein. Es verfügt über viele Konfigurationsoptionen und erfordert einige Kenntnisse im Schreiben von Tests.
- Langsame Leistung: Die Ausführung von Jest kann langsam sein, insbesondere bei großen Testsuiten. Dies kann ein Problem für Entwickler sein, die im Rahmen ihres Workflows häufig Tests ausführen müssen.
- Begrenzte Community-Unterstützung: Obwohl Jest über eine große Benutzer-Community verfügt, wird es möglicherweise nicht so umfassend unterstützt wie andere Test-Frameworks wie Mocha oder Jasmine.
- Mangelnde Flexibilität: Jest ist eine vollständige Testlösung mit eigenen Assertions-, Mocking- und Coverage-Reporting-Tools. Dies kann zwar praktisch sein, bietet jedoch möglicherweise nicht das gleiche Maß an Flexibilität wie die Verwendung separater Bibliotheken für diese Aufgaben.
Jest kann mit npm oder Yarn installiert werden. Nach der Installation können Sie damit Ihren Code testen. Jest sucht nach Dateien im Testordner oder nach Dateien mit der Erweiterung .test.js oder .spec.js
Um Jest zu installieren, verwenden Sie den folgenden Befehl:
$ npm install -g jest
Fügen Sie den folgenden Abschnitt zu Ihrer package.json-Datei hinzu
{
"scripts": {
"test": "jest"
}
}
{
"name": "jest-e2e",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest"
},
"author": "",
"license": "ISC",
"dependencies": {
"jest": "^25.1.0"
}
}
Erstellen Sie eine js-Datei mit dem Namen index.js mit einer zu testenden Funktion. Zum Beispiel:
Erstellen Sie nun im selben Ordner eine Testdatei mit dem Namen sum.test.js, um die Funktion zu testen. Importieren Sie in die Testdatei die Funktion, um den Code im Test auszuführen. Zum Beispiel:
Schreiben Sie als Nächstes die Tests für die Funktion mithilfe der BDD-Tests von Jest mit einem Beschreibungsblock und mehreren Testblöcken. Zum Beispiel:
Um diesen Test auszuführen, führen Sie einfach den Befehl „ npm test “ im Terminal oder in der Eingabeaufforderung am Projektspeicherort aus.
Abschluss
Das Jest-Testframework eignet sich hervorragend zum Testen von JavaScript-Code. Es ist schnell, einfach zu bedienen und kann in automatisierte Tests integriert werden. Die Verwendung von Jest hilft Entwicklern, zuverlässigen und wartbaren Code zu erstellen. In diesem Blog haben wir die Grundlagen von Jest behandelt, wie man es installiert und wie man einfache JavaScript-Dateien testet. Insgesamt ist Jest ein leistungsstarkes Tool zum Erstellen von hochwertigem JavaScript-Code.