Was ist API Mocking? Tools, Use Cases, Beispiele
API Mocking simuliert eine API ohne echtes Backend — für parallele Entwicklung, Test-Isolation, Contract-Testing. Tools: Postman, WireMock, MSW.
Was ist API Mocking?
API Mocking ist die Praxis, eine Fake-Version einer API zu erstellen, die vordefinierte Responses returnt statt echte Backend-Logik auszuführen. Der Mock sieht aus und verhält sich wie die echte API aus Client-Perspektive — selbe URLs, selbe Request/Response-Formate — aber ist nicht mit einer Datenbank verbunden, triggert keine Side-Effects und returnt deterministische Responses.
API Mocking ermöglicht drei große Use Cases: parallele Entwicklung, Test-Isolation und Contract-Testing.
Wann API Mocking nutzen
- Frontend-Dev bevor Backend bereit ist.
- Unit- und Integration-Tests.
- Error-Szenarien testen.
- Offline / Air-Gapped arbeiten.
- Rate-Limits / Kosten vermeiden.
- Contract-Testing.
- Demo-/Sales-Umgebungen.
Typen von API Mocking
Statische Mocks
Selbe Response jedes Mal, unabhängig vom Input.
Dynamische Mocks
Response variiert basierend auf Request.
Recorded Mocks
Echte API-Responses in eine Datei capturen, später replay'en.
Contract Mocks
Generiert aus einer OpenAPI/Swagger-Spec.
Stateful Mocks
Tracken State über Requests.
Beliebte API-Mocking-Tools
| Tool | Am besten für | Notes |
|---|---|---|
| Postman Mock Server | Schnelle Mocks aus existierenden Collections | Kostenlos |
| Mockoon | Lokale Desktop-GUI-Mocks | Kostenlos, Open-Source |
| WireMock | Java-basiertes scriptable Mocking | Mature |
| MSW (Mock Service Worker) | Browser/Node-Mocks via Service Worker | Modern |
| Mirage.js | JS-App-Mocks | Stateful, in-app |
| Prism (Stoplight) | OpenAPI-driven Mocks | Auto-generiert aus Spec |
| nock | Node.js HTTP-Mocking-Library | Per-Test Interception |
| VCR (Ruby) | Record + Replay HTTP | Test-fokussiert |
| json-server | Schnelle REST-API aus JSON-Datei | Zero-Config Prototyping |
Mocking vs Stubbing vs Faking
| Term | Definition | Beispiel |
|---|---|---|
| Stub | Returnt Canned Response; kein Verhalten | API returnt immer {users: ["alice"]} |
| Mock | Stub + verifiziert dass es korrekt aufgerufen wurde | Test assertet API wurde 1x mit X args aufgerufen |
| Fake | Funktionierende In-Memory-Implementation | In-Memory-Datenbank für Tests |
| Spy | Wrapped echten Call, recorded Info über Calls | Ruft echte API auf, loggt was gesendet wurde |
Häufige API-Mocking-Patterns
Mock-Server mit Environment-Switch
const API_BASE = process.env.API_BASE || 'https://api.example.com';
fetch(`${API_BASE}/users/42`);MSW-Interception in Tests
import { setupServer } from 'msw/node';
import { rest } from 'msw';
const server = setupServer(
rest.get('/api/users/:id', (req, res, ctx) => {
return res(ctx.json({ id: req.params.id, name: 'Alice' }));
})
);Mocking-Fallstricke
- Mock driftet von Realität.
- Über-Verlass auf Mocks in CI.
- Mocks zu permissiv.
- Mocks simulieren keine Latenz / Errors.
- Stateful Mocks werden zu komplex.
Contract-Testing: Mocking richtig gemacht
Contract-Testing-Tools (Pact, Spring Cloud Contract) verifizieren, dass Mock-Responses matchen, was die echte API tatsächlich returnt.
FAQ: API Mocking
Was ist der Unterschied zwischen Mocking und einer Staging-API nutzen?
Mocks sind lokal, schnell, deterministisch. Staging-APIs sind echte-aber-non-prod Umgebungen.
Sollte ich alle externen APIs in Tests mocken?
Ja für Unit-Tests. Für Integration-Tests mindestens einige echte APIs hitten.
Wie mocke ich dynamische Responses?
Die meisten Tools unterstützen Template-Variablen oder programmatische Responses.
Kann ich GraphQL oder gRPC mocken?
Ja. MSW unterstützt GraphQL nativ. Für gRPC Tools wie grpc-mock.
Was kostet API Mocking?
Meist kostenlos.
Verlangsamen Mocks Tests?
Nein — sie beschleunigen Tests. Tests mit Mocks laufen typisch 10-100x schneller.
API-Mocks unter Last mit LoadFocus testen
Wenn Sie Mock-APIs gebaut haben und verifizieren wollen, dass sie die Last handhaben, die Ihre echte API sehen wird, läuft LoadFocus JMeter- und k6-Scripts aus 25+ Regionen mit bis zu 12.500 VUs. Registrieren bei loadfocus.com/signup.
Verwandte LoadFocus-Tools
Setze dieses Konzept mit LoadFocus in die Praxis um — derselben Plattform, die alles antreibt, was du gerade gelesen hast.