单元测试路线:未定义ng-mock服务

时间:2015-07-14 12:24:15

标签: angularjs unit-testing

我使用了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'不可用!您要么错误拼写了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

0 个答案:

没有答案