Ошибка "Метка не найдена" в покрытии кода с помощью jstestdriver
У меня есть некоторый код JavaScript с делать, в то время как внешний цикл и переключатель внутреннего цикла, внутренний цикл переключения содержит разрыв externalloop. ниже приведена упрощенная версия кода.
При создании покрытия кода с помощью плагина покрытия jstestdriver я получаю сообщение об ошибке "Метка не найдена" в строке "break loop1".
var a = 2;
var c = 5;
loop1:
do {
switch (c) {
case 1 :
break;
default :
break loop1;
}
a--;
} while (a !=0);
Любая помощь??
1 ответ
Это из-за ошибки в плагине покрытия JsTestDriver. Пока не исправлено, решением будет рефакторинг вашего кода, чтобы не использовать метки для прерывания циклов.
Плагин покрытия кода вставляет операторы в каждую строку, чтобы записать, какие строки были выполнены, даже между меткой и do
заявление. Это отделяет их друг от друга.
Код, выполняемый с включенным покрытием, будет выглядеть примерно так:
// ...
LCOV_1f[3]++; loop1:
LCOV_1f[4]++; do {
// ...
} while (a !=0);