Это продолжение моего вопроса из-за ангулярного карма-жасминового модульного теста для контроллера. я осознаю
Ошибка: [$ 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';
}]);
.controller('HomeCtrl', ['$scope', '$location', '$window', /*'version',*/
function ($scope, $location, $window)
Вы должны удалить запятую после комментария - например, у вас есть две следующие запятые, которые разрешают неопределенное значение. Вы также должны удалить version
из функции или аргумент не соответствует сигнатуре.