我有一些javascript代码与外部循环和切换内部循环,内部开关循环包含break外部循环。以下是代码的简化版本 在使用jstestdriver coverage插件生成代码覆盖时,我在“break loop1”行收到错误“Label not found”。
var a = 2;
var c = 5;
loop1:
do {
switch (c) {
case 1 :
break;
default :
break loop1;
}
a--;
} while (a !=0);
任何帮助??
答案 0 :(得分:0)
这是因为JsTestDriver coverage插件中有bug。在修复之前,解决方案将重构您的代码不使用标签来打破循环。
代码覆盖率插件在每一行上插入语句,以记录已执行的行,甚至在标签和do
语句之间。这使他们彼此分离。
启用coverage后执行的代码如下所示:
// ...
LCOV_1f[3]++; loop1:
LCOV_1f[4]++; do {
// ...
} while (a !=0);