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

如何用Jest统计仅新增代码行的覆盖率(非整文件覆盖率)

如何用Jest仅统计新增代码行的覆盖率?

问题描述

我一直使用jest --coverage统计代码覆盖率,已在jest.config.js中配置coverageThreshold,但它仅校验整个代码库/文件夹的覆盖率。
我也尝试过jest -o(--onlyChanged)命令,但它生成的是整个文件的覆盖率,导致实际新增行的覆盖率看起来偏高。
是否有办法通过Jest仅统计新增代码行(非修改行)的覆盖率?

示例1:整文件覆盖率(可通过95%全局阈值)

新增了一行if语句但未编写测试,覆盖率报告如下:

--------------|---------|----------|---------|---------|-------------------
File          | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
--------------|---------|----------|---------|---------|-------------------
All files     |   96.15 |    95.83 |     100 |   95.83 |                   
changeFile.tsx|   96.15 |    95.83 |     100 |   95.83 | 119               
--------------|---------|----------|---------|---------|-------------------

示例2:期望的新增行覆盖率(触发95%全局阈值失败)

新增行中有一行未被覆盖,报告应仅统计新增行:

--------------|---------|----------|---------|---------|-------------------
File          | % Stmts | % Branch | % Funcs | % Lines | Uncovered New Line #s 
--------------|---------|----------|---------|---------|-------------------   
changeFile.tsx|   50.00 |     100  |  100    |  100    | 1/2               
--------------|---------|----------|---------|---------|-------------------

已尝试的命令

  • jest -o(--onlyChanged)
  • --lastCommit
  • --changedSince
    以上命令仅计算修改后整个文件的覆盖率,无法满足需求。

求助

若有其他可实现此需求的覆盖率工具,欢迎推荐。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:55:13