【发布时间】:2014-05-19 23:43:41
【问题描述】:
我刚开始使用包含以下语句的示例文件 (example.js):
x = 42;
if(false)
x = -1;
我没有任何单元测试文件。但是当我跑步时
istanbul cover example.js
我看到下面的一些覆盖率数据
=============================== Coverage summary ===============================
Statements : 66.67% ( 2/3 )
Branches : 50% ( 1/2 )
Functions : 100% ( 0/0 )
Lines : 66.67% ( 2/3 )
==============================================================================
这是否意味着我有 3 个语句中的 2 个语句被涵盖?如果是这样,当我没有任何针对该代码的单元测试文件时,它如何报告该代码已被覆盖?
根据我对代码覆盖率定义的理解,它是由单元测试覆盖的代码。我不明白为什么 istabul 说我在没有编写任何单元测试的情况下涵盖了 2 个语句。
【问题讨论】:
-
3 个语句中的 2 个将始终执行,1 个永远不会执行。无论您在提供的示例代码上运行什么测试,这都是正确的。
标签: javascript code-coverage istanbul