【发布时间】:2020-04-28 18:03:41
【问题描述】:
login.component.ts
ngOnInit() {
this.createForm();
// loginStatus = 1 - redirect to search
// else - redirect to login
let loginStatus = localStorage.getItem('smtLogin');
if (loginStatus == '1') {
this.router.navigate(['/search']);
} else {
localStorage.setItem('smtLogin', '0');
}
}
login.component.spec.ts
it('it should navigate to search after user signs in', () => {
expect(localStorage.setItem('smtLogin', '1')).toBe('1'); // set the localstorage smtLogin to '1'
expect(localStorage.getItem('smtLogin')).toBe('1'); //get the loaclstotorage smtLogin value as'1'
expect(routerStub.navigate).toHaveBeenCalledWith(['/search']);
});
错误:
“1”类型的参数不能分配给“预期”类型的参数。
在声明之前使用块范围变量“expect”。
预期的间谍导航已使用 [ [ '/search' ] ] 调用,但从未调用过。
能否请您帮我在 ngOnInit() 的 if() 块中为该语句 this.router.navigate(['/search']); 编写一个测试用例
【问题讨论】:
标签: angular unit-testing local-storage karma-jasmine