Files
vue3-element-admin/tests/setup.ts
XFeng f41df4a811 fix(test): 🔨修复 vitest 单元测试运行报错等问题
- 在 tests/setup.ts 中添加 __APP_INFO__ 全局 mock
- 在 vitest.config.ts 中配置 AutoImport 插件以支持 Vue API 自动导入
2026-01-13 19:45:34 +08:00

61 lines
1.1 KiB
TypeScript

/**
* 测试环境全局配置
*/
import { vi } from "vitest";
// Mock window.matchMedia
Object.defineProperty(window, "matchMedia", {
writable: true,
value: vi.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: vi.fn(),
removeListener: vi.fn(),
addEventListener: vi.fn(),
removeEventListener: vi.fn(),
dispatchEvent: vi.fn(),
})),
});
// Mock IntersectionObserver
global.IntersectionObserver = class IntersectionObserver {
constructor() {}
disconnect() {}
observe() {}
takeRecords() {
return [];
}
unobserve() {}
} as any;
// Mock ResizeObserver
global.ResizeObserver = class ResizeObserver {
constructor() {}
disconnect() {}
observe() {}
unobserve() {}
} as any;
// Mock Element.scrollIntoView
Element.prototype.scrollIntoView = vi.fn();
// Mock __APP_INFO__
(globalThis as any).__APP_INFO__ = {
pkg: {
name: "vue3-element-admin",
version: "4.0.0",
},
};
// Mock console methods to reduce noise in tests
global.console = {
...console,
log: vi.fn(),
debug: vi.fn(),
info: vi.fn(),
warn: vi.fn(),
error: vi.fn(),
};