Java Reference
In-Depth Information
11.3.4■Ein praktisches Beispiel
Diese Ausführungen zur TDD werden klarer, wenn wir die testgetriebene Entwicklung einer
JavaScript-Funktionalität in der Praxis durchspielen. Wir besprechen zumindest, wie Sie
zum Testen von JavaScript-Funktionalität Testseiten mit geeigneten Testfunktionen erstel-
len können. Das wollen wir für eine ganz einfache Situation machen.
Die Basis aller Tests bei der testgetriebenen Entwicklung mit JsUnit ist eine konventionelle
Webseite. Eine solche HTML-Testseite enthält zur Durchführung der Tests verschiedene
Testfunktionen auf Basis von JavaScript.
Im JsUnit-Framework wird eine Testfunktion von anderen Funktionen in der Seite über
ihren Namen unterschieden. Dabei wird eine Testfunktion in der Standardeinstellung
immer mit dem Token test beginnen. Zudem wird eine Testfunktion keine Parameter
haben. Das wäre ein Beispiel für die Signatur einer Testfunktion:
Listing 11.2■ Ein erlaubter Name für eine Testfunktion im JsUnit-Framework
testMeinenCode()
Nun ist die entscheidende Verbindung der Testseite zum JsUnit-Framework die Referenz auf
eine zentrale JavaScript-Datei mit Namen jsunit/app/jsUnitCore.js . Diese Datei ist die JsUnit-
Engine. Das bedeutet im Wesentlichen, dass Sie eine Referenz der folgenden Art im Header
Ihrer Webseite notieren müssen (zumindest temporär - also solange die Testfunktionen in
der Webseite benutzt werden sollen):
Listing 11.3■ Die Referenz auf die JsUnit-Engine
<script type="text/javascript" src="jsunit/app/jsUnitCore.js"></script>
Natürlich müssen Sie die entsprechenden Pfade zur JavaScript-Datei gegebenenfalls anpas-
sen. Selbstverständlich kann (und wird) eine Testseite eine beliebige Anzahl an Referenzen
auf andere JavaScript-Bibliotheken enthalten und damit natürlich auch eine beliebige An-
zahl anderer Funktionen. Denn im Grunde ist eine Testseite nichts weiter als eine klassi-
sche Webseite, von der ein Teil der Seite beziehungsweise bestimmte Funktionalität darin
getestet werden soll. Sie können also im Prinzip auch Ihre normalen Webseiten temporär zu
einer Testseite erweitern und nach den (erfolgreichen) Tests die Testfunktionalität einfach
wieder entfernen.
Tests in einem xUnit-Framework basieren grundsätzlich auf sogenannten Annahmen oder
Behauptungen (engl. Assertion ), was auch die Namen der meisten Funktionen im Frame-
work erklärt. Sie stellen nun bei der testgetriebenen Entwicklung in einer Testfunktion eine
bestimmte Behauptung auf und überprüfen, ob diese Behauptung wahr ist oder nicht. Das
Framework stellt nun einige Funktionen zur Erstellung von Standardbehauptungen zur Ver-
fügung, die nach eigenem Belieben in den Testfunktionen verwendet werden können und
für deren Details auf die Dokumentation verwiesen sei. Die Namen der Testfunktion be-
schreiben meist recht aussagekrätig, was für eine Art von Behauptung jeweils aufgestellt
wird.
Die Funktion assertNotNull() trit zum Beispiel die Annahme, dass der als Parameter
angegebene Wert (in der Regel ein Ausdruck oder eine Variable, aber theoretisch sogar der
Token null ) nicht den Wert null hat. Oder die Funktion assertUndeined() trit die An -
 
Search WWH ::




Custom Search