带业力的Angularjs测试路线

带业力的Angularjs测试路线,angularjs,jasmine,karma-runner,Angularjs,Jasmine,Karma Runner,在angular的配置中,我设置了另一个重定向到特定位置,比如说/test,所以我想写一个测试,我写了如下内容: it("should have a working otherwise route", function() { return inject(function($route, $location, $rootScope) { var $scope; expect($route.current).toBeUndefined(); $location.path

在angular的配置中,我设置了另一个重定向到特定位置,比如说/test,所以我想写一个测试,我写了如下内容:

it("should have a working otherwise route", function() {
  return inject(function($route, $location, $rootScope) {
    var $scope;
    expect($route.current).toBeUndefined();
    $location.path("dsadadasda");
    $scope = $rootScope.$new();
    $scope.$apply()
    expect($location.path()).toBe("/test");
  });
});
我正在尝试使用location.path重定向到不存在的路由,然后检查angular是否将用户重定向到/test。但是当我运行测试时,我得到了一个错误:意外的请求:GET../server\u data/modules.json错误,知道如何解决这个问题,或者什么是编写测试的正确方法吗

编辑:主要问题似乎是$scope。$apply

编辑2:错误

        Error: Unexpected request: GET ../server_data/modules.json
        No more request expected
            at $httpBackend (c:/Users/mavmak/configurator-frontend/app/bower_com
ponents/angular-mocks/angular-mocks.js:1180:9)
            at sendReq (c:/Users/mavmak/configurator-frontend/app/bower_componen
ts/angular/angular.js:8355:9)
            at $http.serverRequest (c:/Users/mavmak/configurator-frontend/app/bo
wer_components/angular/angular.js:8088:16)
            at wrappedCallback (c:/Users/mavmak/configurator-frontend/app/bower_
components/angular/angular.js:11573:81)
            at wrappedCallback (c:/Users/mavmak/configurator-frontend/app/bower_
components/angular/angular.js:11573:81)
            at c:/Users/mavmak/configurator-frontend/app/bower_components/angula
r/angular.js:11659:26
            at Scope.$eval (c:/Users/mavmak/configurator-frontend/app/bower_comp
onents/angular/angular.js:12702:28)
            at Scope.$digest (c:/Users/mavmak/configurator-frontend/app/bower_co
mponents/angular/angular.js:12514:31)
            at Scope.$apply (c:/Users/mavmak/configurator-frontend/app/bower_com
ponents/angular/angular.js:12806:24)
            at Object.<anonymous> (c:/Users/mavmak/configurator-frontend/app/src
/app.routes.spec.js:17:14)
        Error: Declaration Location
            at window.inject.angular.mock.inject (c:/Users/mavmak/configurator-f
rontend/app/bower_components/angular-mocks/angular-mocks.js:2146:25)
            at Object.<anonymous> (c:/Users/mavmak/configurator-frontend/app/src
/app.routes.spec.js:12:5)

你什么时候得到错误?你能发布完整的堆栈跟踪吗?@user3651406更新为StackError,你的.config块在定义路由时是什么样子的?让我困惑的是,$http服务试图加载../server\u data/modules.json。我不认为这是标准行为。我不会用单元测试来测试,而是用量角器。