diff --git a/tests/setup.ts b/tests/setup.ts index 2f1d5596..f1928975 100644 --- a/tests/setup.ts +++ b/tests/setup.ts @@ -41,6 +41,14 @@ global.ResizeObserver = class ResizeObserver { // 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, diff --git a/vitest.config.ts b/vitest.config.ts index 5963d8c9..391e3f6f 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,9 +1,25 @@ import { defineConfig } from "vitest/config"; import vue from "@vitejs/plugin-vue"; import { resolve } from "path"; +import AutoImport from "unplugin-auto-import/vite"; +import Components from "unplugin-vue-components/vite"; +import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; export default defineConfig({ - plugins: [vue()], + plugins: [ + vue(), + // API 自动导入 + AutoImport({ + imports: ["vue", "@vueuse/core", "pinia", "vue-router", "vue-i18n"], + resolvers: [ElementPlusResolver()], + dts: false, + }), + // 组件自动导入 + Components({ + resolvers: [ElementPlusResolver()], + dts: false, + }), + ], test: { // 使用 happy-dom 作为测试环境(比 jsdom 快) environment: "happy-dom",