Ein Stub ist ein Test Double in Gerard Meszaros' Taxonomie aus xUnit Test Patterns (2007), das auf Aufrufe während eines Tests vordefinierte Antworten liefert. Er gibt feste Werte unabhängig von der Eingabe zurück und verifiziert keine Interaktionen, lässt einen Test also nie fehlschlagen. Stubs isolieren das System Under Test von externen Abhängigkeiten wie Datenbank oder API und passen zum zustandsbasierten Testen der Chicago School TDD.
Test Double: Stub (Meszaros)
Details
Kernkonzepte:
- Zweck
-
Liefert vordefinierte (vorgefertigte) Antworten auf Aufrufe während eines Tests. Verifiziert keine Interaktionen — stellt nur Daten bereit.
- Verhalten
-
Gibt feste Werte unabhängig von der Eingabe zurück. Keine Assertion darüber, ob oder wie er aufgerufen wurde.
- Abgrenzung zum Mock
-
Ein Stub lässt einen Test nie fehlschlagen. Er liefert nur Daten. Ein Mock hat Erwartungen und kann den Test fehlschlagen lassen, wenn die Interaktionen falsch sind.
- Schlüsselvertreter
-
Gerard Meszaros ("xUnit Test Patterns", 2007)
Wann zu verwenden:
-
Einem LLM sagen: "Erzeuge ein Stub-Test-Double, das diese festen Daten zurückgibt"
-
Isolieren des System Under Test von externen Abhängigkeiten (Datenbank, API)
-
Zustandsbasiertes Testen (Chicago School TDD)
-
Wenn das Ergebnis zählt, nicht wie es zustande kam
Verwandte Anker:
-
Test Double (Meszaros) — übergreifende Taxonomie
-
Spy — ein Stub, der zusätzlich Aufrufe aufzeichnet
-
Mock — wenn Interaktionsverifikation benötigt wird
-
TDD, Chicago School — bevorzugt Stubs gegenüber Mocks