Integration Test

Testing 🟡 Mid

Définition

Test qui vérifie que plusieurs modules ou services fonctionnent correctement ensemble. Il valide les interactions entre composants réels (API, base de données, etc.).

Analogie

Comme vérifier que le moteur, la boite de vitesse et les roues fonctionnent ensemble, pas juste chacun séparément.

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 métier et la base de données collaborent correctement.

Anti-pattern

Confondre intégration test avec unit test en mockant toutes les dépendances, ce qui ne teste plus rien de réel.
#testing#interview#backend

En entretien

  1. Quelle différence entre test d'intégration et test unitaire ?

    Un test d'intégration vérifie que plusieurs modules ou services fonctionnent correctement ensemble, en validant les interactions entre composants réels comme l'API et la base de données. Un test unitaire isole un seul composant, souvent avec des mocks.

  2. Quel anti-pattern confond les deux niveaux ?

    Mocker toutes les dépendances dans un test d'intégration, ce qui ne teste plus rien de réel et le ramène à un simple test unitaire déguisé. Il faut vérifier le moteur, la boîte de vitesse et les roues ensemble, pas juste chacun séparément.

Fiche mise à jour le 2026-09-27

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