添加测试用例如何降低 Jest 中的代码覆盖率?

How can adding a test case decrease code coverage in Jest?

我只是 运行 遇到了 Jest 测试套件的 st运行ge 情况。我没有修改代码,只是加了个测试

之前:

 mylibrary.js |   95.65 |    89.66 |     100 |   95.65 | 54-56,84       
---------------|---------|----------|---------|---------|-------------------
Test Suites: 3 passed, 3 total
Tests:       22 passed, 22 total

之后:

 mylibrary.js |   95.65 |    89.29 |     100 |   95.65 | 54-56,84          
---------------|---------|----------|---------|---------|-------------------
Test Suites: 3 passed, 3 total
Tests:       23 passed, 23 total

我无法分享代码,但我想问一下:当我 添加一个测试电话?

我期待的结果是增加了 2 行覆盖率。

使用 Jest 27.1.0。这是一个非常简单的库,没有依赖项。

(我有 re-added/removed 测试用例来验证这不是由其他因素引起的异常)。

您的 statementsfunctionslines 看起来相同,而您的 branch 略有下降。看起来你的新测试只涵盖了一些分支逻辑的一种场景,而没有测试逻辑的替代场景。

通常,可以通过不覆盖所有 statementsfunctionslinesbranch 路径来添加测试并降低覆盖率.在这种情况下,您添加的测试似乎没有涵盖所有 branch 路径。

检查 Uncovered Line #s 列中黄色的行号。