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

如何在使用c8时排除*.spec.mjs测试文件以获取正确覆盖率

c8 排除测试文件配置方案

方案1:直接修改运行命令

在原有c8参数中新增--exclude规则匹配所有测试文件,修改后的package.json脚本配置如下:

"test": "c8 --check-coverage true --exclude '**/*.spec.mjs' mocha --recursive './lib/**/*.spec.mjs' --require esm"

**/*.spec.mjs会递归匹配所有目录下后缀为.spec.mjs的文件,c8统计覆盖率时会自动跳过这类文件。

方案2:package.json新增c8专属配置(更易维护)

如果后续还有其他覆盖率规则要配置,推荐在package.json中单独添加c8配置段,脚本可以简化:

{
  "type": "module",
  "c8": {
    "check-coverage": true,
    "exclude": [
      "**/*.spec.mjs",
      "**/*.test.mjs"
    ]
  },
  "scripts": {
    "test": "c8 mocha --recursive './lib/**/*.spec.mjs' --require esm"
  }
}

你可以在exclude数组里添加任意需要跳过的文件匹配规则,比如单元测试、配置文件等都可以统一在这里配置。

注意事项

如果是Windows环境直接运行命令报错,可将--exclude参数后的单引号替换为双引号:--exclude "**/*.spec.mjs"

配置完成后重新运行测试,覆盖率统计就会自动排除所有测试文件,仅计算业务代码的覆盖率,得到你需要的80.95%的统计结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:15:01