E2E supertest

NestJS 🟡 Mid

Definition

Tests end-to-end qui simulent de vraies requetes HTTP via la librairie supertest. Testent le pipeline complet du request au response.

Analogie

Comme un client mystere qui teste le restaurant de A a Z : de la reservation au dessert.

Exemple de code

const app = moduleFixture.createNestApplication();
await app.init();

await request(app.getHttpServer())
  .post('/users')
  .send({ email: 'test@test.com', password: '12345678' })
  .expect(201)
  .expect(res => expect(res.body.email).toBe('test@test.com'));

Cas d'usage

Valider que les endpoints, la validation, les guards et la serialisation fonctionnent ensemble.

Anti-pattern

Ne tester que les services unitairement sans jamais verifier le pipeline HTTP complet.
#testing#interview