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

合并Cypress与Karma代码覆盖率报告结果异常问题排查

Angular项目合并Karma与Cypress覆盖率报告问题及解决

我在Angular项目中同时使用内置单元测试工具Karma和Cypress进行测试,需要合并两者的代码覆盖率报告。已成功配置覆盖率输出,使用nyc merge可完成合并,但统计数值不正确。

相关依赖版本

"@angular/core": "^16.0.3",
    "cypress": "^12.13.0",
    "istanbul-lib-coverage": "^3.2.0",
    "@cypress/code-coverage": "^3.11.0",
    "@cypress/webpack-preprocessor": "^5.17.1",
    "@istanbuljs/nyc-config-typescript": "^1.0.2",
    "@jsdevtools/coverage-istanbul-loader": "^3.0.5",
    "karma": "^6.4.2",
    "karma-coverage": "^2.2.0",
    "nyc": "^15.1.0",

问题排查与尝试

  • 已对比Karma和Cypress各自coverage-final.json中同一文件的内容、对应的lcov-report截图,以及合并后的结果截图
  • 尝试过GitHub Issue中的方案,无效
  • 降级Istanbul版本后,无法解析TypeScript文件

解决方法

原合并命令的问题在于npx nyc report默认扫描.nyc_output目录导致结果错误,修改命令为:

npx nyc report --reporter=html --reporter=text-summary -t coverage/test --report-dir=...

执行修改后的命令后得到了正确的合并覆盖率结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:30:55