Учитывая следующий код:Как избежать ненужных блоков-операторов, чтобы увеличить охват филиалов в единичных тестовых случаях?
function test(val){
flag = val;
if (!flag) {
doThis();
}
createSomething();
}
Таким образом, учитывая охват модульного тестирования, даже функция утверждение охватывается, ветви не покрыты, как-то блок не существует. Таким образом, покрытые отрасли будут составлять 50%, и из-за проблем сонара мы не сможем объединить это для разработки. Поэтому, чтобы избавиться от этого, бесполезного кода, мы пишем как return false;
в блоке else и увеличиваем его.
Это эффективный способ написания кода? Есть ли способ избежать написания бесполезных ненужных кодов, чтобы убедиться, что покрытие составляет 100%. Это плохая практика, нужны предложения, чтобы избавиться от этого. У нас есть какие-либо настройки, так что мы можем обновить игнорировать операторы блоков else
и увеличить охват, если они не определены.
Sonar силы написать еще блок:
У меня есть 100% покрытие кода, но охват ветвь 50% только из-за игнорирования блока еще. Существуют правила сонара, определяемые, если не более 80%, мы не смогли объединить код :(
Зачем вам нужно добавить блок else для улучшения покрытия? Просто проверьте свою функцию с помощью правдивого val и с фальшивым val, и все будет покрыто. –
Мы не можем видеть ваши тесты, но если у вас есть тот, который проверяет, что 'doThis' вызывается для'! flag', а тот, который проверяет его, не для 'flag', то вы должны увидеть полный охват. – jonrsharpe