http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd
Testgetriebene entwicklung mit JavaScript
das handbuch für den professionellen programmierer
Handbuch für den professionellen programmierer
1 online resource (1 volume) : illustrations
Entwickeln oder warten Sie JavaScript-Webapplikationen und haben immer ein ungutes Gefühl, wenn Sie Ihre Software in Betrieb nehmen? Dann wird es höchste Zeit, dass Sie sich mit testgetriebener Entwicklung vertraut machen. Dieses Buch zeigt JavaScript-Entwicklern, wie Test-Driven Development (TDD) in der Praxis funktionieren kann. Anschaulich macht Sie Sebastian Springer zunächst mit den allgemeinen TDD-Grundlagen vertraut. Er zeigt, wie Sie diese auf das JavaScript-Umfeld übertragen können und stellt verschiedene Testframeworks vor (Jasmine, QUnit, Karma und JsTestDriver). In einer ausfüh.
Vorwort; Was bietet Ihnen dieses Buch?; Wie können Sie dieses Buch lesen?; Danksagung; Inhaltsverzeichnis; 1 Testgetriebene Entwicklung; 1.1 Was ist testgetriebene Entwicklung?; 1.2 Woher kommt testgetriebene Entwicklung?; Extreme Programming; Das erste Buch zur testgetriebenen Entwicklung; Frühere Erwähnungen von testgetriebener Entwicklung; Testgetriebene Entwicklung und JavaScript; 1.3 Wie funktioniert testgetriebene Entwicklung?; 1.4 Warum sollte man testgetrieben entwickeln?; Besseres Problemverständnis; Testbarer Code; Kein ungetesteter Code; Saubere Architektur
Weniger Redundanz im CodeKein überflüssiger Code; Konzentration auf das Wesentliche; 1.5 Voraussetzungen für testgetriebene Entwicklung; 1.5.1 Werkzeuge; 1.5.2 Methoden; 1.6 Testgetriebene Entwicklung und Unit-Tests; 1.7 Vor- und Nachteile; 1.7.1 Vorteile; Feedback; Probleme finden; Dokumentation; Sicherheit; Refactorings; Integration; Software-Design; 1.7.2 Nachteile; Aufwand in Erstellung und Wartung; Keine hundertprozentige Sicherheit; Code Coverage; 1.8 Anforderungen an einen Unit-Test; 1.8.1 Codequalität; 1.8.2 Unabhängigkeit; 1.8.3 Dokumentation; 1.8.4 Ressourcen
1.8.5 Nur ein Testfall pro Test1.9 Zusammenfassung; 2 Frameworks; 2.1 Die Frameworks im Überblick; 2.2 Clientseitige Frameworks; 2.3 QUnit; Installation; Listing 2-1 QUnit-Verzeichnisstruktur; Listing 2-2 QUnit -- TestRunner.html; Listing 2-3 QUnit -- source.js, Datei mit Quelltext; Listing 2-4 QUnit -- test.js, Datei mit Tests; Abb. 2-1 Ausführung der QUnit-Tests; Tests mit QUnit; Tab. 2-1 QUnit -- Assertions; Listing 2-5 QUnit-Gruppierung; 2.4 Jasmine; Installation; Listing 2-6 Jasmine -- Verzeichnisstruktur; Listing 2-7 Jasmine -- Anpassung der SpecRunner.html-Datei
Listing 2-8 Jasmine -- source.js, Datei mit QuelltextListing 2-9 Jasmine -- test.js, Datei mit Tests; Abb. 2-2 Ausführung von Jasmine-Tests; Tests mit Jasmine; Tab. 2-2 Jasmine-Matcher; Listing 2-10 Jasmine -- beforeEach und afterEach; 2.5 Nachteile clientseitiger Frameworks; 2.6 Serverseitige Frameworks; 2.7 JsTestDriver; Funktionsweise; Abb. 2-3 Komponenten von JsTestDriver; Installation; Listing 2-11 JsTestDriver -- Verzeichnisstruktur; Listing 2-12 JsTestDriver -- jsTestDriver.conf; Listing 2-13 JsTestDriver -- source.js, Datei mit Quelltext; Listing 2-14 JsTestDriver -- test.js, Datei mit Tests
Listing 2-15 Starten des JsTestDriver- ServersAbb. 2-4 Verbindung eines Browsers mit dem JsTestDriver-Server; Listing 2-16 Starten des JsTestDriver-Clients; Tests mit JsTestDriver; Tab. 2-3 Assertions in JsTestDriver; Listing 2-17 JsTestDriver -- setUp und tearDown; Adapter; 2.8 Karma; Installation; Listing 2-18 Installation von Karma; Listing 2-19 Karma -- Erstellung der Konfigurationsdatei; Listing 2-20 Karma -- Ausführung der Tests; Integration in die Entwicklungsumgebung; Abb. 2-5 Integration von Karma in die Entwicklungs- umgebung; 2.9 Zusammenfassung; 3 Workshop: Red, Green, Refactor