import { defineConfig } from 'vitest/config' import { resolve } from 'path' export default defineConfig({ test: { // 测试环境 environment: 'node', // 测试文件匹配模式 include: [ '**/__tests__/**/*.test.{js,ts,jsx,tsx}', '**/?(*.)+(spec|test).{js,ts,jsx,tsx}' ], // 排除模式 exclude: [ '**/node_modules/**', '**/dist/**', '**/build/**', '**/coverage/**' ], // 覆盖率配置 coverage: { provider: 'v8', reporter: ['text', 'lcov', 'html'], reportsDirectory: './coverage', exclude: [ '**/node_modules/**', '**/dist/**', '**/build/**', '**/coverage/**', '**/*.d.ts', 'src/client/api.ts', '**/__tests__/**', '**/__mocks__/**', '**/index.ts', '**/types.ts' ], thresholds: { branches: 70, functions: 70, lines: 70, statements: 70 } }, // 全局设置 globals: true, // 测试超时 testTimeout: 10000, // 监听模式忽略 watchExclude: [ '**/node_modules/**', '**/dist/**', '**/build/**', '**/coverage/**' ], // 设置文件 setupFiles: ['./src/test/setup.ts'], // 别名配置 alias: { '@': resolve(__dirname, './src'), '@/client': resolve(__dirname, './src/client'), '@/server': resolve(__dirname, './src/server'), '@/share': resolve(__dirname, './src/share'), '@/test': resolve(__dirname, './test') } } })