Test Isolation
Testing 🟡 MidDéfinition
Principe ou chaque test est complètement indépendant des autres : il setup son propre état, s'exécute seul et nettoie après lui. Aucun test ne dépend de l'ordre d'exécution.
Analogie
Comme des cabines d'essayage individuelles : chacune a son propre miroir, ses propres vêtements, et est nettoyée après 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 être exécutés dans n'importe quel ordre.
Anti-pattern
Utiliser une variable globale partagée entre tests qui accumule de l'état d'un test a l'autre.