【发布时间】:2016-11-29 16:18:30
【问题描述】:
我有一个简单的路由器保护,我正在尝试测试canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot )。我可以像 new ActivatedRouteSnapshot() 这样创建 ActivatedRouteSnapshot,但我不知道如何创建模拟的 RouterStateSnapshot。
根据我尝试过的代码...
let createEmptyStateSnapshot = function(
urlTree: UrlTree, rootComponent: Type<any>){
const emptyParams = {};
const emptyData = {};
const emptyQueryParams = {};
const fragment = '';
const activated = new ActivatedRouteSnapshot();
const state = new RouterStateSnapshot(new TreeNode<ActivatedRouteSnapshot>(activated, []));
return {
state: state,
activated: activated
}
}
但是import {TreeNode} from "@angular/router/src/utils/tree"; 似乎需要被转译之类的,因为我得到...
未捕获的语法错误:意外的令牌导出 在 webpack:///~/@angular/router/src/utils/tree.js:8:0
【问题讨论】:
标签: angular jasmine angular2-routing