我有一个控制器内该功能:茉莉花类型错误:未定义是不是构造
$scope.delt = function() {
$scope.data = {};
$scope.confirmPopup = $ionicPopup.confirm({
title: '<b>Delete user</b>',
template: "Are you sure you want to delete this user ?<br>can't be undo."
}).then(function(res) {
if (res) {
API.editeTheUser.delete({ id: $scope.user.id }, function(res, header) {
$scope.addEvent('delete-user', 'Delete the user with phone_number :' + $scope.user.phone);
$rootScope.popup('delete', "delete was success");
$ionicHistory.goBack();
}, function(err) {
$rootScope.popup("Error", err.data.error);
});
} else {
console.log('You are not sure');
}
});
}
,当我只需要调用这个函数在我的单元测试:
describe('manageUserCtrl', function() {
var controller, window, scope,
$rootScope,
$q, store, API, $ionicPopup, deferredLogup;
beforeEach(inject(function($controller, _$ionicPopup_, _$rootScope_, $q, _API_, _$window_) {
$q = $q;;
$ionicPopup = _$ionicPopup_;
deferredLogup = $q.defer();
$rootScope = _$rootScope_;
spyOn($ionicPopup, 'confirm');
scope = $rootScope.$new();
API = _API_;
window = _$window_;
controller = $controller('manageUserCtrl', {
'$scope': scope,
'API': API,
'$window': window,
'$ionicPopup': $ionicPopup
});
}));
it('expect delete', function() {
scope.delt();
});
});
然后我得到了错误
“类型错误:未定义不是构造函数(近 '......}),然后(函数(RES))({...')”
。 这里有什么错误,我是单元测试新手? p.s.代码运行良好。
@jlogan请问,你能帮忙吗? –