Ошибка: [$ инжектор: itkn] Неверный токен впрыска! Ожидаемое имя службы в виде строки, неопределенное

0

Это продолжение моего вопроса из-за ангулярного карма-жасминового модульного теста для контроллера. я осознаю

Ошибка: [$ injector: itkn] Неверный токен ввода! Ожидаемое имя службы как строка, не определено. Когда я использую [] в конструкторе контроллера, я получил

Ошибка: [$ injector: unpr] Неизвестный поставщик: $ scopeProvider <- $ scope <- HomeCtrl

 $controller("HomeCtrl",[{
              $scope: scope
            }]);

Спасибо за помощь.

/// <reference path="../../_references.js" />

'use strict';

describe('Controllers: HomeCtrl', function() {
      var $controller, scope;
      beforeEach(module('myApp.controllers'));
      beforeEach(inject(function($rootScope, $controller) {
        scope = $rootScope.$new();
        $controller("HomeCtrl", {
          $scope: scope
        });
      }));

      it('should has title equals to My App', function() {
        expect(scope.title).toEqual('My App');
      });
}

HomeController.js выглядит так:

'use strict';

angular.module('myApp.controllers')
   // Path: /
  .controller('HomeCtrl', ['$scope', '$location', '$window', /*'version'*/,
    function ($scope, $location, $window, version)
    {
      $scope.$root.title = 'AngularJS SPA | Home';
      //$scope.appVersion = version;
      $scope.title = 'My App';
    }]);
Теги:
karma-jasmine

1 ответ

2
Лучший ответ
.controller('HomeCtrl', ['$scope', '$location', '$window', /*'version',*/
    function ($scope, $location, $window)

Вы должны удалить запятую после комментария - например, у вас есть две следующие запятые, которые разрешают неопределенное значение. Вы также должны удалить version из функции или аргумент не соответствует сигнатуре.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню