E2E supertest
NestJS 🟡 MidDéfinition
Tests end-to-end qui simulent de vraies requêtes HTTP via la librairie supertest. Testent le pipeline complet du request au response.
Analogie
Comme un client mystère qui teste le restaurant de A a Z : de la réservation au dessert.
Exemple de code
const app = moduleFixture.createNestApplication();
await app.init();
await request(app.getHttpServer())
.post('/users')
.send({ email: '[email protected]', password: '12345678' })
.expect(201)
.expect(res => expect(res.body.email).toBe('[email protected]'));
Cas d'usage
Valider que les endpoints, la validation, les guards et la sérialisation fonctionnent ensemble.
Anti-pattern
Termes liés
En entretien
Quelle différence entre un test unitaire de service et un test E2E avec supertest ?
Le test E2E simule une vraie requête HTTP via supertest et valide tout le pipeline, du request jusqu'à la response - comme un client mystère qui teste le restaurant de A à Z, de la réservation au dessert. Ça permet de vérifier que les endpoints, la validation, les guards et la sérialisation fonctionnent ensemble.
Pourquoi ne pas se contenter de tester les services unitairement ?
Parce que ça ne vérifie jamais le pipeline HTTP complet - guards, pipes, filters compris - ce qui est justement l'anti-pattern à éviter. Un test E2E crée une vraie NestApplication et envoie une requête complète pour s'assurer que tout s'enchaîne correctement.
Fiche mise à jour le 2026-09-27