From f41df4a81131e0d6390d98b8d06cce4bca227427 Mon Sep 17 00:00:00 2001 From: XFeng Date: Tue, 13 Jan 2026 19:45:34 +0800 Subject: [PATCH] =?UTF-8?q?fix(test):=20=F0=9F=94=A8=E4=BF=AE=E5=A4=8D=20v?= =?UTF-8?q?itest=20=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=8A=A5=E9=94=99=E7=AD=89=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 tests/setup.ts 中添加 __APP_INFO__ 全局 mock - 在 vitest.config.ts 中配置 AutoImport 插件以支持 Vue API 自动导入 --- tests/setup.ts | 8 ++++++++ vitest.config.ts | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) 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",