Test Double: Mock (Meszaros)

Details

Kernkonzepte:

Zweck

Vorprogrammiert mit Erwartungen, welche Aufrufe erfolgen sollen. Verifiziert, dass bestimmte Interaktionen stattgefunden haben — der Test schlägt fehl, wenn die erwarteten Interaktionen ausbleiben.

Verhalten

Hat eingebaute Assertions. Ruft das System Under Test die falsche Methode, mit falschen Argumenten oder in der falschen Reihenfolge auf, lässt der Mock den Test sofort fehlschlagen.

Abgrenzung zum Stub

Ein Stub liefert Daten passiv. Ein Mock verifiziert Verhalten aktiv.

Abgrenzung zum Spy

Ein Spy zeichnet Aufrufe für nachträgliche Assertion auf. Ein Mock erzwingt Erwartungen während der Ausführung.

Schlüsselvertreter

Gerard Meszaros ("xUnit Test Patterns", 2007)

Wann zu verwenden:

  • Einem LLM sagen: "Erzeuge ein Mock-Test-Double, das diese Interaktionen verifiziert"

  • Interaktionsbasiertes Testen (London School TDD)

  • Wenn das Verhalten mehr zählt als das Ergebnis

  • Verifizieren, dass eine Benachrichtigung gesendet, ein Log geschrieben oder ein Service korrekt aufgerufen wurde

Verwandte Anker: