Testen ist ein Schlüsselelement für jede Anwendung. Für Node.js heißt das zum Testen verfügbare Framework Jasmine. Anfang 2000 gab es ein Framework zum Testen von JavaScript-Anwendungen namens JsUnit. Später wurde dieses Framework aktualisiert und ist jetzt als Jasmine bekannt.
Jasmine hilft beim automatisierten Testen von Einheiten, was bei der Entwicklung und Bereitstellung moderner Webanwendungen zu einer wichtigen Praxis geworden ist.
In diesem Tutorial erfahren Sie, wie Sie Ihre Umgebung mit Jasmin einrichten und wie Sie Ihre erste Node.js-Anwendung mit Jasmin testen können.
In diesem Tutorial lernen Sie:
-
Übersicht über Jasmine zum Testen von Node.js-Anwendungen
-
Verwendung von Jasmine zum Testen von Node.js-Anwendungen
Übersicht über Jasmine zum Testen von Node.js-Anwendungen
Jasmine ist ein BDD-Testframework (Behavior Driven Development) für JavaScript. Es ist nicht auf Browser, DOM oder ein JavaScript-Framework angewiesen. Daher eignet es sich für Websites, Node.js-Projekte oder überall dort, wo JavaScript ausgeführt werden kann. Um Jasmine verwenden zu können, müssen Sie zuerst die erforderlichen Jasmine-Module herunterladen und installieren.
Als nächstes müssten Sie Ihre Umgebung initialisieren und die Jasmin-Konfigurationsdatei überprüfen. Die folgenden Schritte zeigen, wie Sie Jasmine in Ihrer Umgebung einrichten
Schritt 1) Installieren der NPM-Module
Sie müssen das Jasmin-Modul installieren, um das Jasmin-Framework in einer Node-Anwendung verwenden zu können. Führen Sie den folgenden Befehl aus, um das Jasmin-Knoten-Modul zu installieren.
npm install jasmine-node
Schritt 2) Initialisieren des Projekts - Auf diese Weise erstellt Jasmin ein Spezifikationsverzeichnis und ein Konfigurations-JSON für Sie. Das Spezifikationsverzeichnis wird zum Speichern aller Ihrer Testdateien verwendet. Auf diese Weise weiß Jasmin, wo sich alle Ihre Tests befinden, und kann sie dann entsprechend ausführen. In der JSON-Datei werden bestimmte Konfigurationsinformationen zu Jasmin gespeichert.
Führen Sie den folgenden Befehl aus, um die Jasminumgebung zu initialisieren
Jasmin init
Schritt 3) Überprüfen Sie Ihre Konfigurationsdatei. Die Konfigurationsdatei wird im Ordner spec / support als jasmine.json gespeichert. Diese Datei listet die Quelldateien und Spezifikationsdateien auf, die der Jasmine Runner enthalten soll.
Der folgende Screenshot zeigt ein typisches Beispiel für die Datei package.json für Jasmin.
- Beachten Sie, dass das Spezifikationsverzeichnis hier angegeben ist. Wie bereits erwähnt, sucht Jasmin beim Ausführen nach allen Tests in diesem Verzeichnis.
- Als nächstes ist der Parameter spec_files zu beachten. Dies bedeutet, dass alle erstellten Testdateien an das Schlüsselwort 'spec' angehängt werden sollten.
Verwendung von Jasmine zum Testen von Node.js-Anwendungen
Um Jasmine zum Testen von Node.js-Anwendungen zu verwenden, müssen eine Reihe von Schritten ausgeführt werden.
In unserem Beispiel unten definieren wir ein Modul, das zwei Zahlen hinzufügt, die getestet werden müssen. Wir werden dann eine separate Codedatei mit dem Testcode definieren und dann Jasmin verwenden, um die Add-Funktion entsprechend zu testen.
Schritt 1) Definieren Sie den Code, der getestet werden soll. Wir werden eine Funktion definieren, die 2 Zahlen addiert und das Ergebnis zurückgibt. Dieser Code wird in eine Datei namens "Add.js." geschrieben.
var exports=module.exports={};exports.AddNumber=function(a,b){return a+b;};
Code Erläuterung:
- Das Schlüsselwort "exportiert" wird verwendet, um sicherzustellen, dass andere Dateien tatsächlich auf die in dieser Datei definierte Funktionalität zugreifen können.
- Wir definieren dann eine Funktion namens 'AddNumber'. Diese Funktion ist so definiert, dass 2 Parameter a und b verwendet werden. Die Funktion wird dem Modul "Exporte" hinzugefügt, um die Funktion zu einer öffentlichen Funktion zu machen, auf die andere Anwendungsmodule zugreifen können.
- Wir lassen unsere Funktion endlich den Mehrwert der Parameter zurückgeben.
Schritt 2) Als nächstes müssen wir unseren Jasmin-Testcode definieren, der zum Testen unserer "Add" -Funktion in der Add.js-Datei verwendet wird. Der folgende Code muss in eine Datei mit dem Namen add-spec.js eingefügt werden.
Hinweis : - Das Wort 'spec' muss zur Testdatei hinzugefügt werden, damit es von Jasmin erkannt werden kann.
Code Erläuterung:
var app=require("… /Add.js");describe("Addition",function(){it("The function should add 2 numbers",function() {var value=app.AddNumber(5,6);expect(value).toBe(11);});});
- Wir müssen zuerst unsere Add.js-Datei einfügen, damit wir die 'AddNumber'-Funktion in dieser Datei testen können.
- Wir erstellen jetzt unser Testmodul. Der erste Teil des Testmoduls besteht darin, eine Methode zu beschreiben, die unserem Test grundsätzlich einen Namen gibt. In diesem Fall lautet der Name unseres Tests "Addition".
- Das nächste Bit besteht darin, eine Beschreibung für unseren Test mit der 'it'-Methode zu geben.
- Wir rufen jetzt unsere Addnumber-Methode auf und senden 2 Parameter 5 und 6. Dies wird an unsere Addnumber-Methode in der Datei App.js übergeben. Der Rückgabewert wird dann in einer Variablen namens value gespeichert.
- Der letzte Schritt ist der Vergleich oder unser eigentlicher Test. Da wir erwarten, dass der von der Addnumber-Funktion zurückgegebene Wert 11 ist, definieren wir dies mit der Methode expected (value) .toBe (dem erwarteten Wert).
Ausgabe
- Um den Test auszuführen, muss der Befehl Jasmin ausgeführt werden.
- Der folgende Screenshot zeigt, dass nach dem Ausführen des Befehls jasmine erkannt wird, dass ein Test namens add-spec.js vorhanden ist, und dieser Test entsprechend ausgeführt wird. Wenn der Test Fehler enthält, wird dieser entsprechend angezeigt.
Zusammenfassung
- Um eine Node.js-Anwendung zu testen, muss zuerst das Jasmin-Framework installiert werden. Dies erfolgt mithilfe des Node-Paketmanagers.
- Der Testcode muss in eine separate Datei geschrieben werden, und das Wort 'spec' sollte an den Dateinamen angehängt werden. Nur wenn dies geschehen ist, kann Jasmin erkennen, dass eine Datei ausgeführt werden muss.
- Um den Test auszuführen, müssen Sie den Jasmin-Befehl ausführen. Dadurch werden alle Dateien gefunden, an die das Wort 'spec' angehängt ist, und die Datei wird entsprechend ausgeführt.