Testen · Senior · Frage 25 von 75
Wie bekommt man in jedem Test eine frische Kopie eines Moduls mit State auf Modulebene?
beforeEach(() => vi.resetModules());
test("...", async () => {
const { counter } = await import("./counter");
});- 1Die Modul-Registry zurücksetzen und das Modul dynamisch importieren
- 2Unmöglich, Module sind immer Singletons
- 3In ESM
delete require.cachefür das Modul aufrufen
Antwort zeigen
Richtige Antwort: Die Modul-Registry zurücksetzen und das Modul dynamisch importieren
Erklärung
Statische Imports werden einmal pro Datei ausgewertet; nur ein dynamischer Import nach dem Zurücksetzen bekommt eine neue Instanz.