test(i18n): 语言检测用例每个都从空存储开始,Node 22 下不再读到模块加载时缓存的英文
This commit is contained in:
1 file changed
+8
-1
@@ -1,5 +1,5 @@
|
|||||||
// @vitest-environment jsdom
|
// @vitest-environment jsdom
|
||||||
import { describe, it, expect, vi, afterEach } from "vitest";
|
import { describe, it, expect, vi, afterEach, beforeEach } from "vitest";
|
||||||
import i18next from "i18next";
|
import i18next from "i18next";
|
||||||
import LanguageDetector from "i18next-browser-languagedetector";
|
import LanguageDetector from "i18next-browser-languagedetector";
|
||||||
import { i18nOptions } from "./index";
|
import { i18nOptions } from "./index";
|
||||||
@@ -15,6 +15,13 @@ async function boot(languages: string[]) {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Importing ./index boots the app's own instance, which on some Node versions (22,
|
||||||
|
// which CI runs) caches jsdom's en-US in storage before the first test; a first
|
||||||
|
// visit starts from empty storage, and no test may inherit another's choice.
|
||||||
|
beforeEach(() => {
|
||||||
|
localStorage.clear();
|
||||||
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
vi.restoreAllMocks();
|
vi.restoreAllMocks();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in new issue
Block a user