6
My Controller является:AngularJS Тестирование контроллера с Karma
angular.module('mean').controller('ItemsController', ['$scope', function ($scope) {
$scope.contentTemplate = '/views/items/index.html';
$scope.subMenu = [
{name: 'Create Item', location: '/items/create'}
];
}]);
Мой тест довольно прост:
describe('ItemsController', function() {
var scope;
beforeEach(module('mean'));
beforeEach(inject(function($controller, $rootScope) {
scope = $rootScope.new();
$controller('ItemsController', {
$scope: scope
});
}));
it('should have sub menu items loaded properly', function() {
expect(scope.subMenu.length).toBe(1);
});
});
То, что я хочу, чтобы проверить, что есть один пункт субменю. Вместо этого возникает ошибка:
PhantomJS 1.9.7 (Mac OS X) ItemsController should have sub menu items loaded properly FAILED TypeError: 'undefined' is not a function (evaluating '$rootScope.new()')
Не вводится ли $ rootScope? Так почему это не определено?