The art of unit testing /
Unit Testing: Grundlagen Test-Hierarchien und -Organisation Mit Legacy Code arbeiten Das einzige deutsche Buch zu Unit Testing mit .NET Vieles wäre besser, wenn Software fehlerfrei wäre. Leider tendiert sie dazu, Fehler zu beinhalten. Daher wird Software normalerweise während der Entwicklung gete...
Clasificación: | Libro Electrónico |
---|---|
Autor principal: | |
Otros Autores: | |
Formato: | Electrónico eBook |
Idioma: | Alemán Inglés |
Publicado: |
[Place of publication not identified] :
mitp-Verlags,
2015.
|
Edición: | Deutsche Ausgabe. |
Colección: | mitp Professional.
|
Temas: | |
Acceso en línea: | Texto completo (Requiere registro previo con correo institucional) |
Tabla de Contenidos:
- Impressum; Vorwort zur zweiten Auflage; Vorwort zur ersten Auflage; Einleitung; Teil I: Erste Schritte; Kapitel 1: Die Grundlagen des Unit Testings; 1.1 Unit Testing
- Schritt für Schritt definiert; 1.1.1 Die Bedeutung guter Unit Tests; 1.1.2 Wir alle haben schon Unit Tests geschrieben (irgendwie); 1.2 Eigenschaften eines »guten« Unit Tests; 1.3 Integrationstests; 1.3.1 Nachteile von nicht automatisierten Integrationstests im Vergleich zu automatisierten Unit Tests; 1.4 Was Unit Tests »gut« macht; 1.5 Ein einfaches Unit-Test-Beispiel; 1.6 Testgetriebene Entwicklung
- 1.7 Die drei Schlüsselqualifikationen für erfolgreiches TDD1.8 Zusammenfassung; Kapitel 2: Ein erster Unit Test; 2.1 Frameworks für das Unit Testing; 2.1.1 Was Unit-Testing-Frameworks bieten; 2.1.2 Die xUnit-Frameworks; 2.2 Das LogAn-Projekt wird vorgestellt; 2.3 Die ersten Schritte mit NUnit; 2.3.1 Die Installation von NUnit; 2.3.2 Das Laden der Projektmappe; 2.3.3 Die Verwendung der NUnit-Attribute in Ihrem Code; 2.4 Sie schreiben Ihren ersten Test; 2.4.1 Die Klasse Assert; 2.4.2 Sie führen Ihren ersten Test mit NUnit aus; 2.4.3 Sie fügen positive Tests hinzu
- 2.4.4 Von Rot nach Grün: das erfolgreiche Ausführen der Tests2.4.5 Test-Code-Gestaltung; 2.5 Refactoring zu parametrisierten Tests; 2.6 Weitere NUnit-Attribute; 2.6.1 Aufbau und Abbau; 2.6.2 Auf erwartete Ausnahmen prüfen; 2.6.3 Das Ignorieren von Tests; 2.6.4 Die fließende Syntax von NUnit; 2.6.5 Das Festlegen der Testkategorien; 2.7 Das Testen auf Zustandsänderungen des Systems statt auf Rückgabewerte; 2.8 Zusammenfassung; Teil II: Zentrale Methoden; Kapitel 3: Die Verwendung von Stubs, um Abhängigkeiten aufzulösen; 3.1 Die Stubs werden vorgestellt
- 3.2 Die Identifizierung einer Dateisystemabhängigkeit in LogAn3.3 Die Entscheidung, wie LogAnalyzer am einfachsten getestet werden kann; 3.4 Design-Refactoring zur Verbesserung der Testbarkeit; 3.4.1 Extrahiere ein Interface, um die dahinter liegende Implementierung durch eine andere ersetzen zu können; 3.4.2 Dependency Injection: Injiziere eine Fake-Implementierung in die zu testende Unit; 3.4.3 Injiziere einen Fake auf Konstruktor-Ebene (Construktor Injection); 3.4.4 Simuliere Ausnahmen über Fakes; 3.4.5 Injiziere ein Fake als Property Get oder Set
- 3.4.6 Injiziere einen Fake unmittelbar vor einem Methodenaufruf3.5 Variationen der Refactoring-Technik; 3.5.1 Die Verwendung von Extract and Override, um Fake-Resultate zu erzeugen; 3.6 Die Überwindung des Kapselungsproblems; 3.6.1 Die Verwendung von internal und [InternalsVisibleTo]; 3.6.2 Die Verwendung des Attributs [Conditional]; 3.6.3 Die Verwendung von #if und #endif zur bedingten Kompilierung; 3.7 Zusammenfassung; Kapitel 4: Interaction Testing mit Mock-Objekten; 4.1 Wertbasiertes Testen versus zustandsbasiertes Testen versus Testen versus Interaction Testing