Test Double (Meszaros)
Details
- Vollständiger Name
-
Test-Double-Taxonomie nach Gerard Meszaros
- Auch bekannt als
-
xUnit Test Patterns Test-Double-Taxonomie
Kernkonzepte:
- Dummy
-
Objekt, das übergeben wird, um eine Parameterliste zu füllen, aber nie tatsächlich verwendet wird
- Stub
-
Liefert vorgefertigte Antworten auf Aufrufe während eines Tests; keine Verifikation von Interaktionen
- Spy
-
Zeichnet Aufrufe für spätere Assertions auf; ein Stub, der zusätzlich Interaktionsdaten erfasst
- Mock
-
Vorprogrammiert mit Erwartungen; verifiziert, dass bestimmte Interaktionen stattgefunden haben (interaktionsbasierte Verifikation)
- Fake
-
Funktionierende vereinfachte Implementierung mit Abkürzungen, die für Produktion ungeeignet sind (z.B. In-Memory-Datenbank, In-Memory-Repository)
- Test Double
-
Oberbegriff für jedes Objekt, das während des Testens für eine echte Abhängigkeit eingesetzt wird
- Vokabularpräzision
-
Unterscheidung zwischen dem, was ein Double IST (Taxonomie) und wann man es einsetzt (TDD-Schulphilosophie)
- Schlüsselvertreter
-
Gerard Meszaros ("xUnit Test Patterns: Refactoring Test Code", 2007)
Wann zu verwenden:
-
Präzise Kommunikation über Test-Isolationsstrategien
-
Auswahl des richtigen Double-Typs für ein gegebenes Testszenario
-
Vermeidung von Vokabularkollisionen (z.B. einen Stub "Mock" zu nennen löst falsches Denken aus)
-
Lehre oder Review von Testcode mit gemeinsamer Terminologie
Verwandte Anker:
-
TDD, London School - Philosophie des intensiven Double-Einsatzes (interaktionsbasiert)
-
TDD, Chicago School - Philosophie des minimalen Double-Einsatzes (zustandsbasiert)