Test Isolation

Testing 🟡 Mid

Definition

Principe ou chaque test est completement independant des autres : il setup son propre etat, s'execute seul et nettoie apres lui. Aucun test ne depend de l'ordre d'execution.

Analogie

Comme des cabines d'essayage individuelles : chacune a son propre miroir, ses propres vetements, et est nettoyee apres chaque utilisation.

Exemple de code

// Bonne isolation
beforeEach(() => {
  db = createFreshDatabase();
});
afterEach(() => {
  db.destroy();
});
// Chaque test a sa propre DB
// Pas de leaking d'etat entre tests

Cas d'usage

Pour garantir que les tests sont reproductibles et peuvent etre executes dans n'importe quel ordre.

Anti-pattern

Utiliser une variable globale partagee entre tests qui accumule de l'etat d'un test a l'autre.
#testing#principle#fondamental