在向现有 javascript 代码添加单元测试覆盖率的过程中,我们遇到了一个我们似乎无法很好地覆盖的情况,即检查回调数据是否未定义的代码:
$.ajax({
dataType: "json",
url: someUrl,
success: function(data) {
if (typeof data === "undefined") {
// *** How do I cover this line with jasmine? ***
}
},
error: function () {
// handle errors
}
});
可能的答案之一是我们无法测试这一行,因为data
jQuery.ajax 传递给成功函数不能未定义。是这样吗?
参考资料提到了传递的数据类型data
是任何东西,但我不确定这是否意味着data
可能是未定义的,以及我们是否可以测试分支。
成功
Type: Function( Anything data, String textStatus, jqXHR jqXHR )