Qu'est-ce que l'API Mocking ? Outils, Cas d'usage, Exemples

L'API mocking simule une API sans le backend réel — pour dev parallèle, isolation tests, contract testing. Outils : Postman, WireMock, MSW.

Qu'est-ce que l'API mocking ?

L'API mocking est la pratique de créer une version fake d'une API qui retourne des responses pré-définies au lieu d'exécuter de la logique backend réelle. Le mock ressemble et se comporte comme la vraie API du point de vue du client — mêmes URLs, mêmes formats request/response — mais n'est pas connecté à une base de données, ne déclenche pas de side effects et retourne des responses déterministes.

L'API mocking permet trois cas d'usage majeurs : développement parallèle, isolation de tests et contract testing.

Quand utiliser l'API mocking

  • Dev frontend avant que le backend soit prêt.
  • Tests unitaires et d'intégration.
  • Tester scénarios d'erreur.
  • Travailler offline / air-gapped.
  • Éviter rate limits / coûts.
  • Contract testing.
  • Environnements démo/sales.

Types d'API mocking

Mocks statiques

Même response à chaque fois, peu importe l'input.

Mocks dynamiques

Response varie selon la requête.

Mocks enregistrés

Capturer des responses API réelles dans un fichier, replay plus tard.

Mocks contract

Générés depuis une spec OpenAPI/Swagger.

Mocks stateful

Tracker l'état entre requêtes.

Outils d'API mocking populaires

OutilMeilleur pourNotes
Postman Mock ServerMocks rapides depuis collections existantesGratuit
MockoonMocks GUI desktop locauxGratuit, open-source
WireMockMocking scriptable Java-basedMature
MSW (Mock Service Worker)Mocks browser/Node via Service WorkerModerne
Mirage.jsMocks app JSStateful, in-app
Prism (Stoplight)Mocks OpenAPI-drivenAuto-générés depuis spec
nockLibrary Node.js HTTP mockingInterception per-test
VCR (Ruby)Enregistrer + replay HTTPTest-focused
json-serverAPI REST rapide depuis fichier JSONZero-config prototyping

Mocking vs stubbing vs faking

TermeDéfinitionExemple
StubRetourne response canned ; pas de comportementAPI retourne toujours {users: ["alice"]}
MockStub + vérifie qu'il a été appelé correctementTest asserte l'API a été appelée 1x avec X args
FakeImplémentation in-memory fonctionnelleBase de données in-memory pour tests
SpyWrap call réel, enregistre info sur les callsAppelle l'API réelle mais log ce qui a été envoyé

Patterns d'API mocking courants

Mock server avec environment switch

const API_BASE = process.env.API_BASE || 'https://api.example.com';
fetch(`${API_BASE}/users/42`);

Interception MSW dans les 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' }));
  })
);

Pièges du mocking

  • Le mock dévie de la réalité.
  • Sur-dépendance aux mocks en CI.
  • Mocks trop permissifs.
  • Mocks ne simulent pas latence / erreurs.
  • Mocks stateful trop complexes.

Contract testing : le mocking bien fait

Les outils de contract testing (Pact, Spring Cloud Contract) vérifient que les responses mock correspondent à ce que la vraie API retourne réellement.

FAQ : API mocking

Quelle est la différence entre mocking et utiliser une API staging ?

Les mocks sont locaux, rapides, déterministes. Les APIs staging sont des environnements réels-mais-non-prod.

Devrais-je mocker toutes les APIs externes dans les tests ?

Oui pour les unit tests. Pour les integration tests, frapper au moins quelques APIs réelles.

Comment je mock des responses dynamiques ?

La plupart des outils supportent les template variables ou responses programmatiques.

Puis-je mocker GraphQL ou gRPC ?

Oui. MSW supporte GraphQL nativement. Pour gRPC outils comme grpc-mock.

Quel est le coût de l'API mocking ?

Principalement gratuit.

Les mocks ralentissent-ils les tests ?

Non — ils accélèrent les tests. Tests avec mocks tournent typiquement 10-100x plus rapidement.

Testez les API mocks sous charge avec LoadFocus

Si vous avez construit des APIs mock et voulez vérifier qu'elles gèrent la charge que votre vraie API verra, LoadFocus exécute des scripts JMeter et k6 depuis 25+ régions avec jusqu'à 12 500 VUs. Inscrivez-vous sur loadfocus.com/signup.

Quelle est la vitesse de votre site web?

Augmentez sa vitesse et son référencement naturel de manière transparente avec notre Test de Vitesse gratuit.

Test gratuit de vitesse du site Web

Analyser la vitesse de chargement de votre site Web et améliorer ses performances avec notre outil gratuit de vérification de la vitesse de la page.

×