[英]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.