TDD London School – auch Mockist- oder Outside-in-TDD genannt (Steve Freeman und Nat Pryce) – treibt den Entwurf von außen nach innen: Man beginnt an der Systemgrenze, mockt Kollaborateure, um ihre Interaktionen festzulegen, und lässt die benötigten Schnittstellen entstehen. Im Vordergrund stehen Objektrollen und Nachrichten, nicht die Prüfung von Zuständen.
TDD, London School
Details
- Auch bekannt als
-
Mockist TDD, Outside-In TDD
Kernkonzepte:
- Mock-heavy Testing
-
Intensive Nutzung von Test Doubles (Mocks, Stubs) zur Isolation von Units
- Outside-In-Entwicklung
-
Beginnen von den äußersten Schichten (UI, API) und nach innen arbeiten
- Interaktionsbasiertes Testen
-
Fokus auf Verifikation von Interaktionen zwischen Objekten
- Verhaltensverifikation
-
Testen, wie Objekte zusammenarbeiten, statt Zustand
- Interface Discovery
-
Tests nutzen, um Interfaces zu entdecken und zu definieren
- Walking Skeleton
-
End-to-End-Funktionalität früh aufbauen, dann Details ausfüllen
- Schlüsselvertreter
-
Steve Freeman, Nat Pryce ("Growing Object-Oriented Software, Guided by Tests")
Wann zu verwenden:
-
Komplexe Systeme mit vielen kollaborierenden Objekten
-
Beim Design von APIs und Schnittstellen
-
Verteilte Systeme, wo Integration kostspielig ist