2
0

vitest.config.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { defineConfig } from 'vitest/config'
  2. import { resolve } from 'path'
  3. export default defineConfig({
  4. test: {
  5. // 测试环境
  6. environment: 'node',
  7. // 测试文件匹配模式
  8. include: [
  9. '**/__tests__/**/*.test.{js,ts,jsx,tsx}',
  10. '**/?(*.)+(spec|test).{js,ts,jsx,tsx}'
  11. ],
  12. // 排除模式
  13. exclude: [
  14. '**/node_modules/**',
  15. '**/dist/**',
  16. '**/build/**',
  17. '**/coverage/**'
  18. ],
  19. // 覆盖率配置
  20. coverage: {
  21. provider: 'v8',
  22. reporter: ['text', 'lcov', 'html'],
  23. reportsDirectory: './coverage',
  24. exclude: [
  25. '**/node_modules/**',
  26. '**/dist/**',
  27. '**/build/**',
  28. '**/coverage/**',
  29. '**/*.d.ts',
  30. 'src/client/api.ts',
  31. '**/__tests__/**',
  32. '**/__mocks__/**',
  33. '**/index.ts',
  34. '**/types.ts'
  35. ],
  36. thresholds: {
  37. branches: 70,
  38. functions: 70,
  39. lines: 70,
  40. statements: 70
  41. }
  42. },
  43. // 全局设置
  44. globals: true,
  45. // 测试超时
  46. testTimeout: 10000,
  47. // 监听模式忽略
  48. watchExclude: [
  49. '**/node_modules/**',
  50. '**/dist/**',
  51. '**/build/**',
  52. '**/coverage/**'
  53. ],
  54. // 设置文件
  55. setupFiles: ['./src/test/setup.ts'],
  56. // 别名配置
  57. alias: {
  58. '@': resolve(__dirname, './src'),
  59. '@/client': resolve(__dirname, './src/client'),
  60. '@/server': resolve(__dirname, './src/server'),
  61. '@/share': resolve(__dirname, './src/share'),
  62. '@/test': resolve(__dirname, './test')
  63. }
  64. }
  65. })