JavaScript-Tests mit Jasmine

Jetzt haben wir gesehen, worum es bei Jasmine geht. Jetzt wollen wir sehen, wie es funktioniert.

  • Laden Sie die neueste Version von Jasmine herunter und entpacken Sie sie.
  • Wir betreten das Jasmine- Verzeichnis und führen SpecRunner.html aus. Folgendes wird angezeigt :

jasmin-javascript.jpg

Diese Datei führt einige Tests in einem Beispielcode aus. Wenn wir die Tests ausführen möchten, können wir den Browser aktualisieren und sie werden ausgeführt.
Sehen wir uns nun ein Beispiel für Jasmines Verwendung an:

  • Zuerst erstellen wir eine einfache Funktion, die einen String als Rückruf enthält.

Funktion helloWorld () {
return “Hallo Welt!”;
}

Wir sind uns ziemlich sicher, dass das funktioniert, oder? Aber lassen Sie uns dies mit Jasmine versuchen und sehen, was sie von unserem Code hält.

  • Wir speichern die erstellte Funktion in einer Datei, die wir hello.js aufrufen können . Öffnen Sie SpecRunner.html , um die Aufnahme vorzunehmen.

<! – Dieser Code muss irgendwo in <head> … -> stehen
<script type = “text / javascript” src = “src / hello.js”> </ script>

  • Lassen Sie uns nun Jasmine zum Laufen bringen und eine Datei erstellen, die den folgenden Code enthält:

beschreiben (“Hallo Welt”, function () {
es (“sagt hallo”, function () {
expect (helloWorld ()). toEqual (“Hallo Welt!”);
});
});

Mal sehen, was diesen Teil des Codes enthält:

Zuerst haben wir die Beschreibung, die normalerweise eine Komponente unserer Anwendung definiert, es kann eine Klasse, eine Funktion oder vielleicht etwas anderes sein. In diesem Beispiel bezieht es sich auf unsere Funktion helloWorld () .

Lassen Sie uns im selben Code fortfahren und wir werden den Block von it () haben , der als Spezifikation bezeichnet wird. Es ist eine Funktion in Javascript, die uns sagt, was zu erwarten ist oder was unsere Komponente tun soll. Für jede Beschreibung können wir eine beliebige Anzahl von Spezifikationen haben.

See also  Nginx - Upstream Server

In diesem Fall testen wir, ob die Funktion helloWorld () “Hello world!” Zurückgibt, und wir überprüfen dies mit toEqual () , das nicht mehr als ein Matcher ist. Dies zeigt uns im Grunde, ob der Inhalt des Strings mit dem des aktuellen übereinstimmt versuchen.

  • Wir speichern den Code unter dem Namen hello.spec.js. Wir platzieren ihn in dem Verzeichnis, in dem die Spezifikationen enthalten sind, und nehmen ihn in unsere SpecRunner.html auf

<! – Dieser Code muss irgendwo in <head> … -> stehen
<script type = “text / javascript” src = “spec / hello.spec.js”> </ script>

Schließlich führen wir diese Spezifikation in unserem Browser aus und sehen eine Ausgabe wie die folgende:

Jasmin-Javascript-2.jpg

Wir können auch eine andere Art von Matcher verwenden.

beschreiben (“Hallo Welt”, function () {
es (“sagt Welt”, function () {
expect (helloWorld ()). toContain (“world”);
});
});

Anstatt zu erwarten, dass der Wert gleich ist, erwarten wir diesmal, dass der Inhalt das Wort “Welt” ist, unabhängig vom Rest des Inhalts, solange das Wort “Welt” in diesem Test existiert. Jasmine wird es als korrekt interpretieren.
Wenn wir zu unserer Funktion wechseln, können wir ändern, was sie sagt, und etwas anderes als “Hallo Welt” setzen. Jasmine wird dies als falsch ansehen, weil es nicht das ist, worauf sie wartet, und das ist der Hauptgrund, warum wir Jasmine wollen, damit wir Sagen Sie, wenn etwas nicht erwartet wird und dies hilft uns, unseren Code sauber und fehlerfrei zu machen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *