You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Svelte项目中Vitest配置无法排除文件出测试覆盖率问题

解决Vitest覆盖率无法排除指定文件的问题

问题原因

你把exclude放在了test根配置下,这个配置是用来排除测试文件本身的,不控制覆盖率统计的文件范围。要排除文件在覆盖率统计外,得在coverage配置块里单独设置exclude。

修正后的配置

把要排除的文件路径移到coverage.exclude中,同时注意路径匹配的准确性(比如文件名大小写、相对路径是否正确):

import { defineConfig } from 'vite';
import svelte from '@sveltejs/vite-plugin-svelte';

export default defineConfig({
  plugins: [svelte({ hot: !process.env.VITEST })],
  test: {
    globals: true,
    environment: 'jsdom',
    setupFiles: ['src/setupTest.js'],
    coverage: {
      reporter: ['text', 'lcov'],
      all: true,
      // 在这里配置覆盖率要排除的文件
      exclude: [
        'myFile.js',
        '**/node_modules/**',
        '**/dist/**',
        '**/*.test.js', // 通常也会排除测试文件本身
        '**/*.spec.js'
      ]
    },
    // 这里的exclude是排除测试用例文件,按需保留
    exclude: ['**/node_modules/**', '**/dist/**']
  }
});

额外注意事项

  • 核对文件名大小写:如果实际文件是myfile.js(小写f),配置里写myFile.js会匹配失败,要保持完全一致。
  • 优化路径匹配:如果文件在src目录下,写成src/myFile.js或者**/myFile.js更稳妥,避免相对路径问题导致匹配不到。
  • 验证结果:运行vitest run --coverage后,查看覆盖率报告,确认目标文件是否已被排除。

内容的提问来源于stack exchange,提问作者vuvu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 11:59:52