Jasmine TypeError: undefined不是构造函数
Jasmine TypeError : undefined is not a constructor
我在控制器中有这个函数:
$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();
});
});
然后我得到了错误
"TypeError: undefined不是构造函数"…})(函数(res)){…")"
。这里的错误是什么,我是单元测试的新手?附:代码运行良好。
在描述函数的末尾有拼写错误——你没有关闭父级(描述函数)——注意,我添加注释只是为了描述的目的。
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
}); // closes the controller
})); //closes the beforeEachfuntion
it('expect delete', function() {
scope.delt();
}); //closes the expect rule
}); //closes the parent describe function
相关文章:
- ES6构造函数返回基类的实例
- 使用Google Visualization动态调用构造函数
- javascript中对象构造函数中的var属性与this.properties
- 理解typescript中的构造函数接口
- 为什么构造函数不是构造函数
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 拦截对构造函数的调用
- 使用闭包共享构造函数参数
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- 从js引擎的角度来看闭包和构造函数是如何工作的
- 如何使用此从对象访问构造函数
- Javascript:为什么是构造函数's __proto__属性Empty(){}
- 当一个重要的构造函数参数丢失时应该发生什么
- JS构造函数中“this”的值返回“undefined”
- 如果构造函数在另一个函数中,则新创建的对象调用构造函数undefined
- Undefined不是试图在一个类内部创建另一个类的新实例的构造函数
- PhantomJS错误:TypeError: undefined不是构造函数(求值'require('s
- Jasmine TypeError: undefined不是构造函数
- 将undefined赋值给构造函数中的属性
- TypeError: undefined不是构造函数