【发布时间】:2015-03-07 23:30:32
【问题描述】:
我正在尝试在新的热毛巾角模板中对我的管理路由进行单元测试。 我在 Visual Studio 2013 中使用 jasmine & phantomjs 和 Resharper。
我确定我做错了什么,因为我是角度测试的新手。 $state 始终为空或 null。在我注入 $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');
});
});
【问题讨论】:
标签: angularjs unit-testing visual-studio-2013 jasmine hottowel