Retour aux cas pratiques
Tests UnitairesExpert

Corriger un test dépendant d’un singleton partagé

Scénario

Contexte Un Logger est implémenté comme singleton et conserve un historique interne. Le Problème Le test suivant échoue selon l’ordre d’exécution : class Logger { constructor() { if (!Logger.instance) { this.logs = []; Logger.instance = this; } return Logger.instance; } log(msg) { this.logs.push(msg); } } test("log ajoute une entrée", () => { const logger = new Logger(); logger.log("A"); expect(logger.logs.length).toBe(1); }); L’état persiste entre tests. Contraintes Garantir l’isolation des tests sans modifier profondément l’architecture. Livrable attendu Une solution assurant la réinitialisation correcte du singleton entre chaque test.

Compétences ciblées

singletontest isolationstate managementbugfixarchitecture
    Corriger un test dépendant d’un singleton partagé — mise en situation Tests Unitaires | CodeDuel