Files
novalon-manage-system/novalon-manage-web/vitest.config.optimized.ts
T
张翔 e2ad1331cc feat: 添加测试框架和覆盖率报告功能
feat(测试): 新增Playwright和Vitest测试配置
feat(测试): 添加测试覆盖率报告生成功能
feat(测试): 实现前后端测试脚本集成

fix(测试): 修复测试密码不匹配问题
fix(测试): 修正URL等待策略
fix(测试): 调整错误消息选择器

refactor(测试): 重构测试目录结构
refactor(测试): 优化测试用例组织方式

docs: 更新测试报告文档
docs: 添加测试覆盖率报告模板

ci: 添加Docker测试环境配置
ci: 实现测试自动化脚本

chore: 更新依赖版本
chore: 添加测试相关配置文件
2026-03-25 09:03:37 +08:00

78 lines
1.7 KiB
TypeScript

import { defineConfig } from 'vitest/config'
import vue from '@vitejs/plugin-vue'
import { fileURLToPath } from 'node:url'
export default defineConfig({
plugins: [vue()],
test: {
globals: true,
environment: 'jsdom',
setupFiles: ['./src/test/setup.ts'],
pool: 'threads',
poolOptions: {
threads: {
singleThread: false,
minThreads: 2,
maxThreads: 4,
useAtomics: true,
},
},
include: ['src/test/**/*.{test,spec}.{js,ts}'],
exclude: [
'node_modules/',
'dist/',
'**/*.d.ts',
'**/*.config.*',
'**/mockData',
'e2e/',
],
coverage: {
provider: 'v8',
reporter: ['text', 'json', 'html', 'lcov'],
exclude: [
'node_modules/',
'src/test/',
'**/*.d.ts',
'**/*.config.*',
'**/mockData',
'e2e/',
'src/main.ts',
'src/router/index.ts',
],
lines: 80,
functions: 80,
branches: 80,
statements: 80,
all: true,
clean: true,
reportsDirectory: './coverage',
subdir: '.',
},
testTimeout: 10000,
hookTimeout: 10000,
teardownTimeout: 10000,
isolate: false,
bail: 5,
retry: 2,
reporters: ['verbose', 'json', 'html'],
outputFile: {
json: './test-results/vitest-results.json',
html: './test-results/vitest-report.html',
},
maxConcurrency: 4,
cache: {
dir: './node_modules/.vitest',
enabled: true,
},
benchmark: {
include: ['src/test/**/*.{bench,benchmark}.{js,ts}'],
exclude: ['node_modules/', 'dist/'],
},
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
})