Einleitung
Das Thema Unit Tests ist heute nichts Neues mehr, dennoch ist es gerade im JavaScript-Umfeld noch nicht bei jedem Entwickler angekommen. Seit mehr als zehn Jahren gibt es nun schon Unit-Test-Frameworks für JavaScript. Eines der neueren JavaScript-Unit-Test-Frameworks ist QUnit, das Testframework aus der jQuery-Familie.
Beispielsweise jQuery UI und auch jQuery Mobile werden mit diesem Framework getestet und entwickelt. In diesem E-Book geht es zentral um die Art und Weise, wie man mit modernen Mitteln testgetrieben mobile Web-Apps entwickeln kann.
Auf Grund der starken Fokussierung auf das Thema Unit Test kann weder auf JavaScript-Grundlagen noch auf Grundlagen von jQuery Mobile ausführlich eingegangen werden.
Die meisten Beispiele in diesem Buch sind so entworfen, dass sie auch mit grundlegenden JavaScript-Kenntnissen nachvollzogen werden können. In den Beispielen zu UI-Tests wird jQuery Mobile verwendet, aus oben genannten Gründen fehlt jedoch auch hier der Raum, auf die nötigen Grundlagen genauer einzugehen, um die jQuery-Mobile-Codeteile bis ins Letzte nachvollziehen zu können.
Um sich grundlegendes jQuery-Mobile-Wissen anzueignen und tiefere Einblicke sowie einen umfassenderen Eindruck von dem Framework zu erhalten, können Sie auf den Shortcut „jQuery Mobile – Basics“ (siehe Links) zurückgreifen.
Tools und Frameworks
Für die Erstellung dieses Buchs beziehungsweise den darin verwendeten Quelltext wurden folgende Tools und Frameworks verwendet:
Tool/Framework |
Version |
NetBeans |
7.4 |
Google Chrome |
34.0.1847.116 m |
jQuery |
1.10.2 |
jQuery Mobile |
1.4.2 |
QUnit |
1.12.0 |
PhantomJS |
1.9.7 |
Jenkins CI |
1.5.5 |
Tabelle 0.1: Tools, Frameworks und ihre Versionen
Am Ende dieses Kapitels finden Sie Links zu den entsprechenden Webseiten der Frameworks und Tools. Dort können Sie die jeweils aktuelle Version herunterladen und die Beispiele aus den Kapiteln nachvollziehen.
Alle Screenshots wurden im Chrome Browser erstellt. Die Darstellung von Beispielen kann in anderen Browsern teilweise erheblich von der Darstellung in Chrome abweichen.
Aufbau des Buchs
Das Buch ist in fünf Kapitel gegliedert. Im ersten Kapitel wird der theoretische Unterbau geschaffen und in den folgenden Kapiteln mit praktischen Beispielen untermauert.
Im Folgenden wird zu jedem Kapitel kurz aufgezeigt, was den Leser dort erwartet.
Kapitel 1: Unit Test und testgetriebene Entwicklung
Wie bereits erwähnt, wird hier die Theorie hinter Unit Tests und testgetriebener Softwareentwicklung behandelt. Nachdem geklärt ist, was diese ominösen Units sind und wer sie warum testet, wird in einem eigenen Unterkapitel auf die testgetriebene Entwicklung und den zu Grunde liegenden TDD-Entwicklungszyklus eingegangen.
Kapitel 2: JavaScript Unit Test mit QUnit
Das Testframework QUnit wird vorgestellt und anhand geeigneter Beispiele werden die zentralen Funktionsweisen erklärt. Anschließend wird die die Theorie der testgetriebenen Entwicklung mithilfe von QUnit umgesetzt. Abgerundet wird das Kapitel mit einem Abstecher zu den Möglichkeiten der UI-Tests mit jQuery Mobile.
Kapitel 3: Automatisches Testen
Stück für Stück nähern wir uns der automatischen Testausführung auf einem Continuous Integration Server an. Anfangs wird geklärt, wie aus einem lokal ausgeführtem Unit Test innerhalb einer HTML-Seite ein automatisch ohne Browser ausgeführter Test werden kann. Hierzu wird PhantomJS verwendet. Nachdem diese Hürde genommen ist, wird erklärt, wie man mit einer Kombination an kleinen Helfern QUnit dazu bringen kann, XML-Dateien auszugeben, die vom Jenkins (CI-Server) verarbeitet werden können.
Quellcode der Beispiele
Die in diesem Buch abgebildeten Screenshots und Listings entstammen allesamt den Projekten MobileTesting und ui-testing, die bei GitHub zu finden sind.
Links
Bezeichnung |
URL |
Quellcode |
|
jQuery Mobile Basics |
|
jQuery Mobile Advanced |
|
QUnit |
|
jQuery |
|
jQuery Mobile |
|
NetBeans |
|
PhantomJS |
|
Jenkins |
Tabelle 0.2: Wichtige Hyperlinks