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

如何在Mocha和nyc中将文件排除出覆盖率报告

彻底排除指定文件出nyc覆盖率报告的方法
  • 精准配置exclude规则
    确保路径匹配完全正确,相对路径以项目根目录为基准。比如要排除src/utils/ignore-me.js,直接在package.json的nyc字段里指定:

    {
      "nyc": {
        "exclude": [
          "src/utils/ignore-me.js",
          "**/*.test.js" // 可同时排除其他不需要的文件,比如测试文件
        ]
      }
    }
    

    通配符**表示任意子目录,可用来批量排除某类文件,比如**/mock/**排除所有mock目录下的文件。

  • 开启excludeAfterRemap
    如果项目使用了源码映射(source maps),普通exclude规则可能不生效。需要在nyc配置中添加excludeAfterRemap: true,让nyc在映射源码后再执行排除:

    {
      "nyc": {
        "exclude": [
          "src/utils/ignore-me.js"
        ],
        "excludeAfterRemap": true
      }
    }
    
  • 正确使用命令行参数
    命令行中要用--exclude而非--ignore,比如在package.json的scripts里配置:

    {
      "scripts": {
        "test:coverage": "nyc --exclude 'src/utils/ignore-me.js' mocha"
      }
    }
    

    注意如果是Windows环境,可能需要去掉引号,或者调整为双引号。

  • 清除nyc缓存
    旧的缓存数据可能导致排除规则不生效,执行以下命令清空缓存后重新生成报告:

    npx nyc clean
    npm run test:coverage
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 18:13:13