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()