我正在尝试学习如何为 AngularJS 编写单元测试。我从一开始就用
angular.module( ... ).config( ... )
我想测试一下配置里面的内容。以下是相关部分的外观:
angular.module('ogApp', ['ngCookies','ui.router','ogControllers','ogServices','ogDirectives','ogMetricsData'])
.config([
'$stateProvider', '$locationProvider',
function ($stateProvider, $locationProvider) {
$stateProvider.
state('login', {
templateUrl: 'connect.html'
}).state('addViews', {
templateUrl: 'add-views.html'
}).state('dashboard', {
templateUrl: 'dashboard.html'
});
$locationProvider.
html5Mode(true).
hashPrefix('!');
}
]);
我认为测试此代码的最简单方法是为$stateProvider
and注入模拟$locationProvider
。然后执行配置阶段。之后,断言如何$stateProvider
以及$locationProvider
应该是什么样子。
如果我的想法是正确的,那么我的问题是,我不知道如何将这些模拟注入模块并从测试中执行其配置阶段。
你能告诉我如何测试这段代码吗?