Integration Test

Testing 🟡 Mid

Definition

Test qui verifie que plusieurs modules ou services fonctionnent correctement ensemble. Il valide les interactions entre composants reels (API, base de donnees, etc.).

Analogie

Comme verifier que le moteur, la boite de vitesse et les roues fonctionnent ensemble, pas juste chacun separement.

Exemple de code

// user.integration.test.js
test('creates user and retrieves it', async () => {
  const res = await request(app)
    .post('/users')
    .send({ name: 'Alice' });
  expect(res.status).toBe(201);
  const user = await db.users.findById(res.body.id);
  expect(user.name).toBe('Alice');
});

Cas d'usage

Pour valider que l'API, le service metier et la base de donnees collaborent correctement.

Anti-pattern

Confondre integration test avec unit test en mockant toutes les dependances, ce qui ne teste plus rien de reel.
#testing#interview#backend