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

使用nyc(istanbul)时部分文件未被代码覆盖率统计求助

解决nyc覆盖率报告遗漏带TypeScript类型文件的问题
  • 检查nyc的包含/排除规则
    确认你的.nycrc或者package.json里的nyc配置中,include有没有覆盖到这些缺失文件的路径(比如文件在src/utils/下,要写"include": ["src/**/*.ts"]),同时排查exclude里是否误把这些文件排除在外。

  • 配置nyc适配TypeScript
    仅加--all=true不足以处理TS文件,需要专门的TS配置支持。先安装@istanbuljs/nyc-config-typescript,然后在nyc配置里继承该规则:

    {
      "nyc": {
        "extends": "@istanbuljs/nyc-config-typescript",
        "all": true,
        "include": ["src/**/*.ts"]
      }
    }
    
  • 清理nyc缓存
    缓存可能导致新配置不生效,先运行npx nyc --clean清空缓存,再重新执行你的test-cov脚本。

  • 检查tsconfig配置
    确保tsconfig.json里的include包含了这些缺失文件,且exclude没有将它们排除。如果TS编译阶段跳过了这些文件,nyc基于编译产物统计时自然不会纳入报告。

  • 明确指定nyc覆盖范围
    在test-cov脚本里直接追加--include参数,比如:

    "scripts": {
      "test-cov": "nyc --all=true --include 'src/**/*.ts' mocha"
    }
    

    把示例里的mocha替换成你实际使用的测试框架即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:31:04