Javascript 茉莉花-如何连锁一个“然后”和一个“最后”在一个假间谍中?
我有以下函数,它执行带有承诺和Javascript 茉莉花-如何连锁一个“然后”和一个“最后”在一个假间谍中?,javascript,angularjs,testing,promise,jasmine,Javascript,Angularjs,Testing,Promise,Jasmine,我有以下函数,它执行带有承诺和的服务调用。最后: myService.getStuff().then(function() { this.doStuffWhenServiceOK(); }, function () { this.doStuffWhenServiceFails(); }).finally(function() { this.doFinally(); }); 我正在与以下间谍一起监视此服务: spyOn(myService, 'getStuff').and.ca
的服务调用。最后
:
myService.getStuff().then(function() {
this.doStuffWhenServiceOK();
}, function () {
this.doStuffWhenServiceFails();
}).finally(function() {
this.doFinally();
});
我正在与以下间谍一起监视此服务:
spyOn(myService, 'getStuff').and.callFake(function() {
return {
then: function (succesFn, errorFn) {
return succesFn();
}
};
});
问题是测试抱怨。finally
未知。只是在之后添加它。然后似乎不是一个解决方案
return {
then: function(successFn) {
return successFn();
},
finally: function(successFn) {
return successFn();
}
}
谁知道如何链接。然后
和。最后
在callFake
间谍中
我使用Angular 1。返回finally函数
function then(succesFn, errorFn) {
succesFn();
return {finally:function() {}};
}