带业力的Angularjs测试路线
在angular的配置中,我设置了另一个重定向到特定位置,比如说/test,所以我想写一个测试,我写了如下内容:带业力的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
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。我不认为这是标准行为。我不会用单元测试来测试,而是用量角器。