[英]Istanbul code coverage - if path is not taken
以下是查找所附伊斯坦布尔报道报告的功能。
export function getControlFromId(controlId, ancestorControl) {
if (!(controlId && ancestorControl)) {
return undefined;
}
if (controlId === ancestorControl.id) {
return ancestorControl;
}
if (ancestorControl.controls) {
for (const control of ancestorControl.controls) {
const result = getControlFromId(controlId, control);
if (result) {
return result;
}
}
}
return undefined;
}
问题:为什么说不采用if-path? 该图清楚地显示了if循环中的行。
样本测试数据:
const ancestorControl = {
name: 'form',
controls: [
{
name: 'Section',
id: 1,
},
],
};
根据我的理解,它表明您的if条件已部分执行,这意味着您正在测试ancestorControl.controls
可用的正向流程。
您可能会缺少ancestorControl.controls
不可用的测试用例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.