【发布时间】:2014-02-09 01:41:21
【问题描述】:
我的控制器是:
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 应该有子菜单项 正确加载失败类型错误:“未定义”不是函数 (评估'$rootScope.new()')
$rootScope 不是注入了吗?那么为什么它是未定义的呢?
【问题讨论】:
标签: angularjs unit-testing karma-runner