MSW

Testing 🟡 Mid

Définition

Mock Service Worker intercepte les requêtes réseau (Service Worker côté navigateur, interception côté Node.js) pour simuler des API sans toucher au code applicatif. Depuis MSW 2.0, publié le 23 octobre 2023, l'API repose sur les primitives Fetch : « rest » devient « http », et le resolver reçoit ({ request }) et renvoie une Response ou HttpResponse.json().

Analogie

Comme un standardiste qui intercepte les appels et répond a la place du destinataire, sans que l'appelant ne le sache.

Exemple de code

// handlers.js (MSW 2.x : primitives Fetch)
import { http, HttpResponse } from 'msw';

export const handlers = [
  http.get('/api/users', ({ request }) => {
    // request est une vraie Request Fetch
    return HttpResponse.json([{ id: 1, name: 'Alice' }]);
  }),
];

Cas d'usage

Pour mocker les API externes dans les tests frontend et le développement local sans backend disponible.

Anti-pattern

Copier des exemples MSW 1.x (rest.get, (req, res, ctx) => res(ctx.json())) : cette signature n'existe plus en 2.x.
#testing#tooling#frontend

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre