如何用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
相关产品推荐
相关产品推荐

