Angularjs karma错误:[$injector:unpr]未知提供程序:ngTableParamsProvider<;-表参数
这是我的控制器:Angularjs karma错误:[$injector:unpr]未知提供程序:ngTableParamsProvider<;-表参数,angularjs,karma-runner,Angularjs,Karma Runner,这是我的控制器: var myapp = angular.module('legalControllers', []); myapp.controller('lemEl', ['$scope', '$http', '$location', 'ngTableParams', '$filter', '$q', function ($scope, $http, $location, ngTableParams, $filter, $q) { $scope.list = function ()
var myapp = angular.module('legalControllers', []);
myapp.controller('lemEl', ['$scope', '$http', '$location', 'ngTableParams', '$filter', '$q', function ($scope, $http, $location, ngTableParams, $filter, $q) {
$scope.list = function () {
$scope.enrollmentPromise = $http.get('./ccs/enrollment/ActiveList').success(function (data) {
$scope.data = data;
$scope.tableParams.reload();
});
};
}]);
我的规格是:
describe('controller: lemEl', function() {
beforeEach(inject(function($controller) {
scope = {};
$controller('lemEl', {$scope: scope});
}));
it('check for list function defined or not', function() {
expect('list').toBeDefined();
});
});
Karma抛出:
错误:[$injector:unpr]未知提供程序:ngTableParamsProvider首先添加ngTableParams
作为模块的依赖项
var myapp = angular.module('legalControllers', ['ngTableParams']);
然后在测试之前注入$rootScope
,并在实例化控制器时使用它
var ctrl;
beforeEach(inject(function ($rootScope, $controller) {
$scope = $rootScope.$new();
ctrl = $controller('lemEl', {$scope: $scope});
}));
尝试angular.module('legalControllers',['ngTableParams']);感谢@Mikael Härsjö,然后未能完成控制器]实例化。是的,您还需要注入$rootScope,然后注入$scope:$rootScope.$new()