添加测试用例如何降低 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 测试用例来验证这不是由其他因素引起的异常)。
您的 statements
、functions
和 lines
看起来相同,而您的 branch
略有下降。看起来你的新测试只涵盖了一些分支逻辑的一种场景,而没有测试逻辑的替代场景。
通常,可以通过不覆盖所有 statements
、functions
、lines
或 branch
路径来添加测试并降低覆盖率.在这种情况下,您添加的测试似乎没有涵盖所有 branch
路径。
检查 Uncovered Line #s
列中黄色的行号。
我只是 运行 遇到了 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 测试用例来验证这不是由其他因素引起的异常)。
您的 statements
、functions
和 lines
看起来相同,而您的 branch
略有下降。看起来你的新测试只涵盖了一些分支逻辑的一种场景,而没有测试逻辑的替代场景。
通常,可以通过不覆盖所有 statements
、functions
、lines
或 branch
路径来添加测试并降低覆盖率.在这种情况下,您添加的测试似乎没有涵盖所有 branch
路径。
检查 Uncovered Line #s
列中黄色的行号。