Mar*_*ine 6 javascript angular angular-router angular-test angular-testing
我正在尝试测试访问子级路由参数的Angular Resolver。
我的后卫工作正常,但是我无法轻松创建单元测试,因为我无法创建ActivatedRouteSnapshot带有子级路由(只读属性)。
我的解析器
@Injectable({
providedIn: 'root'
})
export class MyResolverGuard implements Resolve<string> {
constructor() {
}
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): string {
return route.firstChild.paramMap.get('my-param');
}
}
Run Code Online (Sandbox Code Playgroud)
我的测试:
it('should resolve chilren route params', () => {
guard = TestBed.get(MyResolverGuard);
const route = new ActivatedRouteSnapshot();
// Cannot assign children because it's a read only property
route.children = [...];
const myResolverParams = guard.resolve(route, null);
});
Run Code Online (Sandbox Code Playgroud)
除了使用模拟以外,还有其他方法ActivatedRouteSnapshot吗?
我的测试后卫方法好吗?
感谢您分享您的策略。
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |