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

ToolAm besten fürNotes
Postman Mock ServerSchnelle Mocks aus existierenden CollectionsKostenlos
MockoonLokale Desktop-GUI-MocksKostenlos, Open-Source
WireMockJava-basiertes scriptable MockingMature
MSW (Mock Service Worker)Browser/Node-Mocks via Service WorkerModern
Mirage.jsJS-App-MocksStateful, in-app
Prism (Stoplight)OpenAPI-driven MocksAuto-generiert aus Spec
nockNode.js HTTP-Mocking-LibraryPer-Test Interception
VCR (Ruby)Record + Replay HTTPTest-fokussiert
json-serverSchnelle REST-API aus JSON-DateiZero-Config Prototyping

Mocking vs Stubbing vs Faking

TermDefinitionBeispiel
StubReturnt Canned Response; kein VerhaltenAPI returnt immer {users: ["alice"]}
MockStub + verifiziert dass es korrekt aufgerufen wurdeTest assertet API wurde 1x mit X args aufgerufen
FakeFunktionierende In-Memory-ImplementationIn-Memory-Datenbank für Tests
SpyWrapped echten Call, recorded Info über CallsRuft 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.

Wie schnell ist Ihre Website?

Steigern Sie ihre Geschwindigkeit und SEO nahtlos mit unserem kostenlosen Geschwindigkeitstest.

Kostenloser Websitespeed-Test

Analysieren Sie die Ladegeschwindigkeit Ihrer Website und verbessern Sie ihre Leistung mit unserem kostenlosen Seitengeschwindigkeits-Checker.

×