我已将我的应用迁移到Angular 1.6,突然单元测试不再有效。稍微调查一下后,我发现在运行单元测试时启用了路由。
我添加到$ routeProvider的代码就是这个:
$routeProvider.whenAuthenticated = function (path, route) {
route.resolve = route.resolve || {};
angular.extend(route.resolve, {
isAuthenticated: ['Auth', function (auth) {
return auth.authenticate();
}]
});
return $routeProvider.when(path, route);
};

和
$routeProvider
.whenAuthenticated('/', {
redirectTo: '/dashboards'
});
在Angular 1.5中,auth.authenticate()
永远不会被击中,而在Angular 1.6中,应用会尝试导航到我的一条路线,然后点击auth.authenticate()
,并且网址更改为" /仪表板&#34 ;.
有没有人知道1.6中的变化?在测试时我是否需要做一些额外的事情来禁用路由?