执行jest --coverage时,Branches列的作用及含义是什么?
Jest覆盖率报告中Branches列的含义解析
咱们先把这个概念掰扯明白:Branches列对应的是分支覆盖率(% Branch),它统计的是代码里所有条件分支被测试用例执行到的比例。
什么是条件分支?比如代码里的if/else判断、switch的各个case、三元表达式a ? b : c,这些结构都会产生至少两个分支——满足条件的路径和不满足条件的路径。分支覆盖率就是看这些分支里,有多少个被你的测试用例实际跑过了。
再结合你给出的覆盖率结果来看:
- 你的
SearchResults/index.js分支覆盖率是0%,还标注了未覆盖行是第4行。这说明第4行存在一个条件分支(比如一个if判断),但你的测试用例只触发了其中一个分支,另一个分支完全没被执行到。举个例子,如果第4行是if (results.length > 0) { ... },那你的测试可能只测了results有数据的情况,完全没测results为空数组的场景,导致不满足条件的分支(也就是else部分,或者跳过if块的逻辑)没被覆盖到。 - 而
Search/index.js的分支覆盖率是100%,说明这个文件里所有的条件分支都被你的测试用例覆盖到了,每个判断的不同情况都跑过一遍。
内容的提问来源于stack exchange,提问作者jingteng
相关产品推荐
相关产品推荐

