mk-prg-net \ js \unittesting

Unit- Tests für JavaScript- Einführung

Definitionen

Unit
Im Zusammenhang mit Tests eine einzelne JavaScript- Funktion wie function add(a, b) {return a + b;}.
Unit- Test
Parameter einer Unit werden an Testeingabewerte gebunden. Der zurückgegebene Wert wird mit dem erwarteten Wert verglichen. Das Ergebnis wird dokumentiert.
Testframework
Bibliothek, mit der Unit- Tests implementiert werden können. Gliedert sich in Funktionen, mit denen tatsächiche Rückgabewerte mit den erwarteten Rückgabewerten verglichen werden können (Assert), und Funktionen, die Listen von Asserts als Testaufträge definieren. Beispiel QUnit und Jasmin.
Testrunner
Tool, das eine Liste von JavaScript- Dateien auf Änderungen überwacht, und unmittelbar nach detektieren von Änderungen Unit- Tests für die Dateien startet. Beispiel: Karma

Installation und Konfiguration des Karma- Testrunners

Voraussetzung: nodeJS zusammen mit seinem Paketmanager npm muss installiert sein.
  1. Karma installieren mittels npm install -g karma
  2. Für Karma konfigurieren
    • Browser (JavaScript- Engines), in denen die Tests auszuführen sind
    • einzusetzendes Testframework (z.B. QUnit)
    • Liste der Quelltexte, in denen die zu testenden Funktionen sowie die Tests definiert sind

    Die Konfiguration kann mit einem in Karma integrierten Assistenten erfolgen. Er wird gestartet durch karma init. Der Start sollte in dem Projektverzeichnis mit den zu testenden JavaScript- Dateien erfolgen.

    Der Assistent schreibt die Einstellungen in eine Datei namens karma.conf.js. Diese kann nachträglich geändert/angepasst werden.

  3. Tests starten mit karma start

    karma überwacht nun die zuvor definierten Quelltextdateien auf Änderungen. Wird eine Änderung erkannt, dann werden die Tests ausgeführt. Im Kommandozeilenfenster kann anhand der Rückmeldungen von Karma erkannt werden, ob die Tests erfolgreich waren.