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.