我使用了http://stackoverflow.com/questions/17963717/can-we-write-unit-test-for-angularjs-routeprovider
中的单元测试代码示例describe('Testing routes', function() {
beforeEach(module('timekeeper'));
var $location, $route, $rootScope;
beforeEach(inject(
function( _$location_, _$route_, _$rootScope_ ) {
$location = _$location_;
$route = _$route_;
$rootScope = _$rootScope_;
}));
describe('Login route', function() {
beforeEach(inject(
function($httpBackend) {
$httpBackend.expectGET('/')
.respond(200);
}));
it('should load the login page on successful load of /login', function() {
$location.path('/');
$rootScope.$digest();
expect($route.current.controller).toBe('LoginController')
});
});
});
但是当测试并在chrome中显示调试时我有以下错误:
的错误:
无法读取未定义的path
在线:
$location.path('/');
这意味着他不知道$ location?为什么呢?
我的业力开始于:
'angular.min.js',
'angular-mocks.js',
//Files
修改
angularJS错误:
模块'ngRoute'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。