Ein Test-Double ersetzt eine reale Abhängigkeit in einem Test. Ein Stub liefert vordefinierte Antworten und prüft nichts. Ein Mock ist ein Stub, der zusätzlich protokolliert, wie er aufgerufen wurde, sodass der Test die Interaktion bestätigen kann – "charge was called once with 20" . Ein Fake ist eine funktionierende, vereinfachte Implementierung, beispielsweise eine In-Memory-Datenbank oder eine API, die einen Zustand speichert.
Stubs eignen sich für Tests, bei denen nur die Abhängigkeit beantwortet werden muss. Mocks eignen sich für Tests, bei denen der Aufruf selbst das zu überprüfende Verhalten ist. Fakes eignen sich für Tests, die Abläufe – erstellen, lesen, aktualisieren – testen, bei denen vordefinierte Antworten jeden Schritt vorhersehen müssten. Im HTTP-Testing werden alle drei oft allgemein als "mock APIs" bezeichnet.
Mehr Mocking bedeutet bessere Isolation. Übermäßig gemockte Tests prüfen die Art und Weise, wie Code geschrieben ist, anstatt seine Funktion zu analysieren, und schlagen bei jeder Refaktorisierung fehl, während sie echte Integrationsfehler übersehen. Ein Fake, der sich wie der reale Dienst verhält, deckt oft mehr Fehler mit weniger Aufwand auf.
Dieser Spielplatz ist im strengen Sinne ein Fake: Schreibvorgänge bleiben in Ihrer Sandbox erhalten, sodass ein POST-Request für einen späteren GET-Request sichtbar ist, Versionen sich weiterentwickeln und der Vorrat zur Neige geht – ein Verhalten, das ein Stub nicht haben kann.
Diese Seite auf Englisch lesen
Alle Glossarbegriffe · Testtechniken · Alle 39 Mock-REST-APIs
Zuletzt aktualisiert