JavaScript client- und serverseitig testen
Kommentare

Zum Formulieren der Tests stehen Ihnen eine Reihe von Assertions zur Verfügung. Dabei handelt es sich um Methoden, mit deren Hilfe Sie einen bestimmten Sachverhalt prüfen können.
Tests sind normalerweise

Zum Formulieren der Tests stehen Ihnen eine Reihe von Assertions zur Verfügung. Dabei handelt es sich um Methoden, mit deren Hilfe Sie einen bestimmten Sachverhalt prüfen können.

Tests sind normalerweise durch die drei A gekennzeichnet: Arrange, Act und Assert.

Das bedeutet, dass Sie zuerst eine Umgebung schaffen, in der ein bestimmter Test ablaufen soll, danach findet die zu testende Aktion statt und im dritten Punkt, dem Assert, kommen die Assertion-Methoden des Frameworks ins Spiel. Sie dienen dazu, das Ergebnis der Aktion mit einer bestimmten Erwartung abzugleichen. Einige Beispiele für Assertions finden Sie in Tabelle 1.

Tabelle 1: Assertions in JsUnit
Assertion Funktion
assertEquals Vergleich zwischen Ergebnis und Erwartung, nicht typsicher
assertSame Vergleich zwischen Ergebnis und Erwartung, typsicher
assertMatches Prüfung, ob ein regulärer Ausdruck einer Zeichenkette entspricht
assertNull Prüfung, ob der Wert Null ist
assertUndefined Prüfung, ob der Wert Undefined ist
assertTrue Prüfung, ob der Wert True ist
assertFalse Prüfung, ob der Wert False ist

Für einige Assertions wie beispielsweise assertSame, assertNull oder assertUndefined existieren auch entsprechende Negierungen, also zum Beispiel assertNotSame, was die Bedeutung der Assertion ins Gegenteil umkehrt, sodass Sie nicht erst umständlich Ihren Ausdruck umkehren müssen und der Test dadurch unleserlich wird. Listing 1 zeigt einen Unit Test mit JsUnit, Abbildung 1 zeigt die Ausgabe.

Listing 1: Unit Test mit JsUnit
function MyTest(name) {
    TestCase.call(this, name);
}
MyTest.prototype = new TestCase();
MyTest.prototype.testAdd = function() {
    this.assertEquals(1 + 1 , '2');
}

function MyTestSuite() {
    TestSuite.call(this, "MyTestSuite");
    this.addTestSuite(MyTest);
}
MyTestSuite.prototype = new TestSuite();
MyTestSuite.prototype.suite = function() {
    return new MyTestSuite();
}
Abb. 1: Ausgabe von Unit Tests unter JsUnit

Zugegebenermaßen ist JsUnit mittlerweile in die Jahre gekommen und es gibt modernere und vor allem angenehmer zu bedienende Testframeworks. Nichtsdestotrotz finden sich die in diesem Abschnitt beschriebenen Grundlagen in ähnlicher Art und Weise auch in den übrigen Frameworks wieder.


Themen der folgenden Seiten:

  • QUnit
  • Jasmine
  • JsTestDriver
  • Fazit
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -