我向AngularJS Promise添加了catch以处理异常。它运行良好,但现有的Jasmine单元测试失败,因为模拟需要相应更改。
请找到代码。 在现有的API调用中,我添加了catch和handleerror函数。
function calAPI(){
GetAPIData(request)
.then(updatedata)
[catch](handleError)
[finally](dofinaltask();)
}
function handleError(){
//calling again the same API if the first request fails.
GetAPIData(request)
.then(updatedata)
[finally] (dofinaltask();)
}
UNit Test的现有模拟
GetAPIData: function(){
return {then: function() {return { finally: function(){ } }; } };
}
我在这个
上添加了捕获GetAPIData: function(){
return {then: function() {return { catch: function(){ }, finally: function(){ } }; } };
}
但是单元测试会给出错误,如下所示
TypeError: undefined is not constructor (evaluating GetAPIData(request).then(updatedata)[catch](handleError)[finally](dofinaltask();)
请帮我修改模拟或以其他方式捕捉