javascript - 无法测试 canActivate() 的错误路径 - Angular2+
问题描述
任何人都可以帮助我测试确定我的应用程序的 AuthGuard 的 canActivate 函数的错误路径吗?
看来我在伪造RouterStateSnapshot
...时遇到了麻烦
警卫
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
console.log(next);
console.log(state);
console.log(localStorage.getItem('token'));
解决方案
满足所有条件以通过虚假测试:
it('should return false', () => {
spyOn(guard['authService'], 'getStoredToken').and.returnValue('');
expect(guard.canActivate(null, { url: 'foo' } as any)).toEqual(false);
});
推荐阅读
- r - “sourceCpp 中的错误(“xx.cpp”)错误:构建共享库时发生错误 1。”
- git - 在一个“文件夹”下推几个分支
- mysql - SQL 未连接
- string - Powershell 根据电子邮件地址列表检查电子邮件地址
- python - 当行已满且 Tkinter 中的滚动条时如何使文本小部件跳到下一行
- android - 使用 Buildozer 构建的 Kivy 应用程序:您的应用程序当前针对 API 级别 27,并且必须至少针对 API 级别 29
- scheme - MIT Scheme 的 REPL 中是否有快速退出调试器的方法?
- javascript - 使用 Selenium Python 将所有“显示:无”更改为“显示:块”
- forms - CodeIgniter 4:表单操作是指错误 404 页面
- flutter - 从 Flutter 蓝牙设备读取响应