vitest.config.js 1.62 KB
import { defineConfig } from 'vitest/config'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

export default defineConfig({
  plugins: [vue()],
  test: {
    // 全局 API(describe, it, expect)
    globals: true,
    // 运行环境
    environment: 'jsdom',
    // 设置文件
    setupFiles: ['./test/setup.js'],
    // 覆盖率配置
    coverage: {
      provider: 'v8',
      reporter: ['text', 'json', 'html'],
      // 排除文件
      exclude: [
        'node_modules/',
        'test/',
        'dist/',
        '**/*.test.js',
        '**/*.spec.js',
        '**/*.config.js',
        'src/app.js',
        'src/app.config.js',
      ],
    },
    // 别名配置(与 Taro 配置保持一致)
    alias: {
      '@/utils': resolve(__dirname, 'src/utils'),
      '@/components': resolve(__dirname, 'src/components'),
      '@/images': resolve(__dirname, 'src/assets/images'),
      '@/assets': resolve(__dirname, 'src/assets'),
      '@/composables': resolve(__dirname, 'src/composables'),
      '@/api': resolve(__dirname, 'src/api'),
      '@/stores': resolve(__dirname, 'src/stores'),
      '@/hooks': resolve(__dirname, 'src/hooks'),
    },
  },
  resolve: {
    alias: {
      '@/utils': resolve(__dirname, 'src/utils'),
      '@/components': resolve(__dirname, 'src/components'),
      '@/images': resolve(__dirname, 'src/assets/images'),
      '@/assets': resolve(__dirname, 'src/assets'),
      '@/composables': resolve(__dirname, 'src/composables'),
      '@/api': resolve(__dirname, 'src/api'),
      '@/stores': resolve(__dirname, 'src/stores'),
      '@/hooks': resolve(__dirname, 'src/hooks'),
    },
  },
})