Test Double: Spy (Meszaros)
Details
Kernkonzepte:
- Zweck
-
Ein Stub, der zusätzlich aufzeichnet, wie er aufgerufen wurde — welche Methoden, mit welchen Argumenten, wie oft. Assertions erfolgen nach der Aktion, nicht als Erwartungen davor.
- Verhalten
-
Gibt vorgefertigte Antworten zurück (wie ein Stub) und zeichnet alle Interaktionen stillschweigend zur späteren Inspektion auf.
- Abgrenzung zum Mock
-
Ein Spy zeichnet auf und lässt dich hinterher prüfen. Ein Mock hat vorprogrammierte Erwartungen, die sofort fehlschlagen, wenn sie verletzt werden.
- Schlüsselvertreter
-
Gerard Meszaros ("xUnit Test Patterns", 2007)
Wann zu verwenden:
-
Einem LLM sagen: "Erzeuge ein Spy-Test-Double, das Aufrufe zur späteren Assertion aufzeichnet"
-
Wenn Interaktionen verifiziert werden sollen, die Assertions aber im Testkörper statt im Setup stehen sollen
-
Auditieren, was während eines Tests geschah, ohne die Reihenfolge der Operationen einzuschränken
-
Wenn das genaue Interaktionsmuster zählt, die Assertion aber flexibel bleiben soll
Verwandte Anker:
-
Test Double (Meszaros) — übergreifende Taxonomie
-
Stub — Spy ohne Aufruf-Aufzeichnung
-
Mock — vorprogrammierte Erwartungen statt nachträglicher Assertion