簡體   English   中英

如何在Hottowel Angular模板中對路線進行單元測試?

[英]How to unit test a route in Hottowel Angular template?

我正在嘗試在新的熱毛巾角度模板中的管理路線上進行單元測試。 我在Visual Studio 2013中使用Resharper使用jasmine和phantomjs。

我確定我做錯了什么,因為我是角度測試的新手。 $ state始終為空或為null。 注入$ state使其具有有效狀態后,我需要對$ state做些什么嗎?

這是我得到的錯誤。

       Expected null to equal '/admin'.
Error: Expected null to equal '/admin'.at stack (  jasmine.js: line 1442)

管理員路線規格:

///<reference path="~\app\components\angular\angular.js" />
///<reference path="~\app\components\angular\angular-route.js" />
///<reference path="~\app\components\angular\angular-ui-router.js" />
///<reference path="~\app\components\angular\angular-mocks.js" />
///<reference path="~\app\components\jasmine\jasmine.js"/>
///<reference path="~\app\blocks\router\router-helper.provider.js"/>
///<reference path="~\app\blocks\router\router.module.js"/>
///<reference path="~\app\blocks\logger\logger.js"/>
///<reference path="~\app\blocks\logger\logger.module.js"/>
///<reference path="~\app\admin\admin.module.js"/>
///<reference path="~\app\admin\admin.controller.js"/>
describe('Admin Routes', function () {
 beforeEach(module('ui.router'));
 beforeEach(module('blocks.router'));
 beforeEach(module('blocks.logger'));
 beforeEach(module('app.admin'));

 var $rootScope, $state, $injector,
         adminView = 'app/admin/admin.html',state = 'admin';

 beforeEach(function () {
    inject(function(_$rootScope_, _$state_ , _$injector_, $templateCache) {
        $rootScope = _$rootScope_;
        $injector = _$injector_;
        $state = _$state_;

        $templateCache.put(adminView, '');
      });
    });

it('should map state admin to url /admin ', function() {          
   expect($state.href(state, {})).toEqual('/admin');     
});


});

不要忘記包括:

///<reference path="~\app\admin\admin.route.js"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM