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

Angular项目如何将路由模块从Karma覆盖率统计中排除?

Angular Karma覆盖率排除路由模块配置方案

配置失效原因

你之前使用的"*.module.routing.ts"规则仅能匹配项目根目录下的路由文件,无法匹配任意子目录中存放的路由模块,因此才会出现配置不生效的问题。

正确配置步骤

1. 修正angular.json匹配规则

将angular.json中测试配置的匹配规则改为带全局通配符的格式,适配任意层级的子目录:

"test": {
   "options": {
       "codeCoverageExclude": ["**/*.module.routing.ts"]
   }
}

其中**代表匹配任意层级的目录,该规则会覆盖项目所有路径下后缀为.module.routing.ts的文件。

2. 可选:Karma配置文件补充配置

如果你的项目单独维护了Karma配置,可在karma.conf.js的Istanbul覆盖率配置项中添加排除规则:

module.exports = function (config) {
  config.set({
    // 其余原有配置保持不变
    coverageIstanbulReporter: {
      exclude: [
        "**/*.module.routing.ts"
      ],
      // 其余原有覆盖率配置保持不变
    }
  })
}

验证生效

  • 修改配置后必须完全停止当前正在运行的测试进程,重新执行ng test --code-coverage命令,测试服务的热重载不会加载更新后的覆盖率规则
  • 测试执行完成后打开生成的coverage报告,确认路由模块文件已被移出统计范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:45:04