У меня есть тест, который создает такой контроллер ...
this.createScope = function(scope) {
if (scope) {
this.scope = scope;
} else {
this.scope = $rootScope.$new();
}
this.controller = $controller("menuController", {
"$scope": this.scope,
updateActionList: function() {
return {
finally: function() {}
};
}
});
};
Я добавил эту часть ...
updateActionList: function() {
return {
finally: function() {}
};
}
Потому что, когда я запускаю свои тесты, все они терпят неудачу, потому что ....
TypeError: undefined is not an object (evaluating 'updateActionList().finally')
updateActionList () - это локальная функция, которая вызывается в реальном коде следующим образом ...
updateActionList().finally(function() {
//Do stuff
});
updateActionList () возвращает обещание от getThings () с блоками .then и .finally.
Я просто хочу, чтобы блок finally действительно разрешил сам себя, чтобы тесты могли пройти.
Или мне нужно еще кое-что сделать? Я не уверен, почему окончательно не определено.