angular - 单元测试角
问题描述
有人可以告诉我如何为以下语句编写单元测试吗?!
localStorage.getItem('token') ? (this.isAuthenticated = true) : (this.isAuthenticated = false);
先感谢您!
解决方案
您可以在您的测试提供者中添加 LocalStorage 并模拟其内容:
providers: [
{
provide: LocalStorageService,
useValue: {
getItem: () => true
}
}
]
然后在你的单元测试中:
it('should set Authenticated to true', () => {
// call your function
expect(component.isAuthenticated).toBeTrue();
}
如果您希望它返回 false:
it('should set Authenticated to false', () => {
TestBed.get(LocalStorageService, 'getItem').and.returnValue(false);
// call your function
expect(component.isAuthenticated).toBeFalse();
}
推荐阅读
- sql - SQL:使用 chr(10) 或 chr(13) 对列进行 LIKE 查询
- windows - 如何在 Windows 上安装primer3?
- assembly - 系统调用在 shellcode 中的使用
- python - 为什么“in”适用于键而不适用于字符串?
- reactjs - 为什么在没有互联网的情况下启动应用程序时没有正确触发 React Native 的 NetInfo?
- visual-studio - 更改默认 VS 配置管理器选项
- matlab - 如何检查阵列是否在gpu上?
- javascript - Chart.js 画布更改标签颜色
- ios - 如何在 IOS Swift 中处理 WKWebView 中的错误
- dart - 我想在同一行中获取用户输入,但是 print() 函数将焦点发送到下一行而不是关注同一行