/** * Vitest 配置(Phase 3 Task 3 引入) * * 仅覆盖单元测试(src 下各 __tests__ 目录中的 *.test.ts)——与 * vite.config.ts 分离,避免测试环境加载 devtools/compression 等构建插件。 * 路径别名与 vite.config.ts / tsconfig.json 保持一致(@ @views @utils @stores 等)。 * * CI 语义:`pnpm test` = `vitest run`(一次性跑完退出,非 watch)。 */ import { defineConfig } from 'vitest/config' import { fileURLToPath } from 'url' export default defineConfig({ resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), '@views': fileURLToPath(new URL('./src/views', import.meta.url)), '@imgs': fileURLToPath(new URL('./src/assets/images', import.meta.url)), '@icons': fileURLToPath(new URL('./src/assets/icons', import.meta.url)), '@utils': fileURLToPath(new URL('./src/utils', import.meta.url)), '@stores': fileURLToPath(new URL('./src/store', import.meta.url)), '@plugins': fileURLToPath(new URL('./src/plugins', import.meta.url)), '@styles': fileURLToPath(new URL('./src/assets/styles', import.meta.url)) } }, test: { environment: 'happy-dom', include: ['src/**/__tests__/**/*.test.ts'], // 测试文件显式 import { describe, it, expect, vi } from 'vitest',不开 globals globals: false } })