Ошибка: Инжектор уже создан, не может зарегистрировать модуль

Sandeep Singh спросил: 27 ноября 2017 в 06:04 в: angularjs

Я пытаюсь проверить, установлен ли window.location для определенного URL-адреса в конце метода, но я получаю эту ошибку:

Error: Injector already created, can not register a module!

Код :

describe('Home controller', function() {  var $controller, $location, $window, $http, $timeout, $filter, $scope, $resource;  beforeEach(module('app', function($provide) {
    $provide.value('$window', {
      location: {
        href: ''
      }
    });
  }));  beforeEach(inject(function(_$controller_, _$location_, _$window_, _$rootScope_, _$http_,
    _$resource_, _$timeout_, _$filter_) {    $controller = _$controller_;
    $location = _$location_;
    $window = _$window_;
    $http = _$http_;
    $timeout = _$timeout_;
    $filter = _$filter_;
    $scope = _$rootScope_.$new();  }));  it('check Home Ctrl', inject(function($rootScope, $httpBackend, API_URL) {    var ctrlInstance = $controller('HomeCtrl', {
      $scope: $scope,
      $rootScope: $rootScope,
      $http: $http,
      $resource: $resource,
      $location: $location,
      $window: $window,
      $timeout: $timeout,
      API_URL: API_URL
    });    $scope.goEditUser({
      userId: 2
    });
    expect($window.location.href).toContain('/switch-user/2');  }));
});

Почему я получаю сообщение об ошибке, даже когда inject вызывается после модуля?


0 ответов