Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS单元测试中缺少AngularUI路由器状态_Angularjs_Unit Testing_Jasmine_Angular Ui Router - Fatal编程技术网

AngularJS单元测试中缺少AngularUI路由器状态

AngularJS单元测试中缺少AngularUI路由器状态,angularjs,unit-testing,jasmine,angular-ui-router,Angularjs,Unit Testing,Jasmine,Angular Ui Router,我正在尝试测试为AngularJS应用程序的AngularUI路由器定义的路由。测试使用karma/jasmine设置。我在测试中注入$state服务,以检查是否定义了所有相关的状态。但是,$state服务只列出一个空状态。以下是模块设置和测试设置的外观: 模块定义: 测试定义: 任何想法,为什么$state服务可能缺少路由器状态定义?你确定你有v0.3.0的ui路由器吗?我使用的是v0.2.15的ui.router。这不是最近的一个吗?请看API页面啊,我明白了。据我所知,get调用应该在v0

我正在尝试测试为AngularJS应用程序的AngularUI路由器定义的路由。测试使用karma/jasmine设置。我在测试中注入$state服务,以检查是否定义了所有相关的状态。但是,$state服务只列出一个空状态。以下是模块设置和测试设置的外观:

模块定义:

测试定义:


任何想法,为什么$state服务可能缺少路由器状态定义?

你确定你有v0.3.0的ui路由器吗?我使用的是v0.2.15的ui.router。这不是最近的一个吗?请看API页面啊,我明白了。据我所知,get调用应该在v0.2.15中工作。另一种方法是什么?
angular.module('module', ['ui.router'])

.config(function($stateProvider) {

    $stateProvider
        .state('state01', {
            url: '/state01'
        })
        .state('state02', {
            url: '/state02'
        });
});
describe('module', function() {
    var $state;

    beforeEach(module('module'));

    beforeEach(inject(function (_$state_) {
        $state = _$state_;
    }));

    describe('module config', function() {
        it('should test stuff...', function() {
            console.log($state.get());
            // prints: [Object{name: '', url: '^', views: null, abstract: true}]
        });
    });
});