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: