Test Double: Fake (Meszaros)
Details
Kernkonzepte:
- Zweck
-
Eine funktionierende, aber vereinfachte Implementierung, die für die Produktion ungeeignet ist. Hat echtes Verhalten, nimmt aber Abkürzungen.
- Verhalten
-
Verarbeitet Eingaben tatsächlich und erzeugt Ausgaben — anders als Stubs, die feste Daten zurückgeben. Die Vereinfachung macht ihn schnell und vorhersehbar für Tests.
- Typische Beispiele
-
In-Memory-Datenbank statt echter Datenbank, In-Memory-Dateisystem, lokaler E-Mail-Sender, der in eine Liste schreibt statt zu senden, vereinfachte Authentifizierung, die immer gelingt.
- Abgrenzung zum Stub
-
Ein Stub gibt vorgefertigte Daten zurück. Ein Fake hat echte Logik, nur vereinfacht.
- Schlüsselvertreter
-
Gerard Meszaros ("xUnit Test Patterns", 2007)
Wann zu verwenden:
-
Einem LLM sagen: "Erzeuge eine Fake-Implementierung dieses Repositories mit einem In-Memory-Store"
-
Integrationsähnliche Tests ohne externe Infrastruktur
-
Wenn Stubs zu simpel sind und die echte Implementierung zu langsam/komplex ist
-
Lokale Entwicklungsumgebungen, die realistische, aber schnelle Abhängigkeiten brauchen
Verwandte Anker:
-
Test Double (Meszaros) — übergreifende Taxonomie
-
Stub — einfachere Alternative mit festen Antworten