Jasmine Framework-Tutorial: Unit-Tests mit Beispiel

Was ist JasmineJS?

Jasmine ist ein Open-Source- und sehr beliebtes JavaSkriptbibliothek-Testframework zum Testen aller Arten von JavaSkriptanwendung. Jasmine folgt dem Behavior Driven Development (BDD)-Verfahren, um sicherzustellen, dass jede Zeile JavaDie Skriptanweisung wird ordnungsgemäß auf Komponenten getestet.

Wofür wird das Jasmine Framework verwendet?

Tests sind ein Schlüsselelement jeder Anwendung. Für NodeJS-Unit-Tests heißt das zum Testen verfügbare Framework Jasmine. Anfang 2000 gab es einen Rahmen zum Testen JavaSkript Anwendungen namens JsUnit. Later Dieses Framework wurde aktualisiert und ist jetzt als Jasmine bekannt.

Jasmine hilft bei der Automatisierung Unit Tests, etwas, das bei der Entwicklung und Bereitstellung moderner Webanwendungen zu einer wichtigen Praxis geworden ist.

In diesem Jasmine-Tutorial erfahren Sie, wie Sie Ihre Umgebung mit Jasmine einrichten und Jasmine-Tests für Ihre erste Node.js-Anwendung ausführen.

Jasmine zum Testen von Node.js-Anwendungen

Jasmin ist ein Verhaltensgesteuerte Entwicklung (BDD) Testframework für JavaSkript. Es tut nicht verlassen sich auf Browser, DOM oder andere JavaSkript-Framework. Daher eignet es sich für Websites, Node.js-Projekte oder überall dort, wo JavaDas Skript kann ausgeführt werden. Um Jasmine verwenden zu können, müssen Sie zunächst die erforderlichen Jasmine-Module herunterladen und installieren.

So richten Sie die Jasmine-Testumgebung ein

Als Nächstes müssen Sie in diesem Jasmine Node JS-Tutorial Ihre Umgebung initialisieren und die Jasmine-Konfigurationsdatei überprüfen. Die folgenden Schritte zeigen, wie Sie Jasmine in Ihrer Umgebung einrichten

Schritt 1) Installieren Sie NPM-Module
Du brauchst Installieren Sie NPM Jasmine-Modul zur Verwendung des Jasmine-Frameworks innerhalb einer Node-Anwendung. Um das Jasmine-Node-Modul zu installieren, führen Sie den folgenden Befehl aus.

npm installiere Jasmine-Node

Schritt 2) Initialisieren Sie die Jasmine-Umgebung
Initialisieren des Projekts – Auf diese Weise erstellt Jasmine ein Spezifikationsverzeichnis und einen Konfigurations-JSON für Sie. Im Spezifikationsverzeichnis werden alle Ihre Testdateien gespeichert. Auf diese Weise weiß Jasmin, wo sich alle Ihre Tests befinden, und kann sie dann entsprechend ausführen. Der JSON Die Datei wird zum Speichern spezifischer Konfigurationsinformationen zu Jasmine verwendet.

Führen Sie den folgenden Befehl aus, um die Jasmin-Umgebung 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 einschließen soll.

Der folgende Screenshot zeigt ein typisches Beispiel der package.json-Datei für Jasmine.

Richten Sie die Jasmine-Testumgebung ein

  1. Beachten Sie, dass hier das Spezifikationsverzeichnis angegeben wird. Wie bereits erwähnt, sucht Jasmine beim Ausführen nach allen Tests in diesem Verzeichnis.
  2. Als nächstes ist der Parameter „spec_files“ zu beachten. Dieser gibt an, dass den erstellten Testdateien das Schlüsselwort „spec“ angehängt werden sollte.

Als nächstes lernen wir in diesem Jasmine-Framework-Tutorial, wie man Jasmine zum Testen von Node.js-Anwendungen verwendet.

So verwenden Sie Jasmine zum Testen von Node.js-Anwendungen

Um Jasmine Unit Testing für Node.js-Anwendungen verwenden zu können, müssen eine Reihe von Schritten befolgt werden.

In unserem Beispiel unten definieren wir ein Modul, das zwei Zahlen addiert, die getestet werden müssen. Anschließend definieren wir eine separate Codedatei mit dem Testcode und verwenden dann Jasmine, um die Add-Funktion entsprechend zu testen.

Schritt 1) Definieren Sie den zu testenden Code. Wir werden eine Funktion definieren, die zwei Zahlen addiert und das Ergebnis zurückgibt. Dieser Code wird in eine Datei namens „Add.js“ geschrieben.

Verwenden Sie Jasmine, um Node.js-Anwendungen zu testen

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};

Code Erklärung

  1. Das Schlüsselwort „exports“ wird verwendet, um sicherzustellen, dass andere Dateien tatsächlich auf die in dieser Datei definierte Funktionalität zugreifen können.
  2. Anschließend definieren wir eine Funktion namens „AddNumber“. Diese Funktion ist so definiert, dass sie zwei Parameter annimmt, a und b. Die Funktion wird dem Modul „Exports“ hinzugefügt, um die Funktion als öffentliche Funktion zu machen, auf die andere Anwendungsmodule zugreifen können.
  3. Endlich sorgen wir dafür, dass unsere Funktion den Mehrwert der Parameter zurückgibt.

Schritt 2) Als nächstes müssen wir unseren Jasmine-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 eingefügt werden add-spec.js.

Hinweis: – Das Wort „spec“ muss zur Testdatei hinzugefügt werden, damit es von Jasmin erkannt werden kann.

Verwenden Sie Jasmine, um Node.js-Anwendungen zu testen

Code Erklärung

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);
});
});
  1. Wir müssen zuerst unsere Add.js-Datei einbinden, damit wir die Funktion „AddNumber“ in dieser Datei testen können.
  2. Wir erstellen jetzt unser Testmodul. Der erste Teil des Testmoduls besteht darin, eine Methode zu beschreiben, die unserem Test im Grunde einen Namen gibt. In diesem Fall lautet der Name unseres Tests „Addition“.
  3. Als nächstes geben wir eine Beschreibung für unseren Test mit der „it“-Methode.
  4. Wir rufen nun unsere Addnumber-Methode auf und senden die beiden Parameter 2 und 5 ein. Diese werden an unsere Addnumber-Methode in der App.js-Datei übergeben. Der Rückgabewert wird dann in einer Variablen namens value gespeichert.
  5. Der letzte Schritt ist der Vergleich bzw. unser eigentlicher Test. Da wir erwarten, dass der von der Funktion „Addnumber“ zurückgegebene Wert 11 ist, definieren wir dies mit der Methode „expect(value).toBe(der erwartete Wert“).

Ausgang

  1. Um den Test auszuführen, muss man den Befehl jasmine ausführen.
  2. Der folgende Screenshot zeigt, dass nach der Ausführung des Jasmin-Befehls erkannt wird, dass ein Test namens add-spec.js vorhanden ist, und dieser Test entsprechend ausgeführt wird. Sollten im Test Fehler auftreten, wird dies entsprechend angezeigt.

Verwenden Sie Jasmine, um Node.js-Anwendungen zu testen

Zusammenfassung

  • Um einen zu testen Node.js Für die Anwendung muss zunächst das Jasmine-Framework installiert werden. Dies geschieht 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 geschieht, kann Jasmine erkennen, dass eine Datei ausgeführt werden muss.
  • Um den Test auszuführen, müssen Sie den Jasmine-Befehl ausführen. Dadurch werden alle Dateien gefunden, an die das Wort „spec“ angehängt ist, und die Datei wird entsprechend ausgeführt.