我是angular的新手,正在测试我的Login组件,它就像这样。它有一个handleLogin()
函数,它是无效的。它重定向到另一个函数,如下所示。
如何测试此功能?它重定向到其他功能,也重定向到其他地方。如何测试如此复杂的功能。
答案 0 :(得分:1)
it('should not be called redirect after login function', () => {
const loginService = TestBed.inject(LoginService);
const authService = TestBed.inject(AuthenticationService);
spyOn(authService, 'isLoggedIn').and.returnValue(false); // FALSE
component.ngOnInit();
expect(loginSerive.redirectAfterLogin).not.toHaveBeenCalled();
}
it('should be called redirect after login function', () => {
const loginService = TestBed.inject(LoginService);
const authService = TestBed.inject(AuthenticationService);
spyOn(authService, 'isLoggedIn').and.returnValue(true);
component.ngOnInit();
expect(loginSerive.redirectAfterLogin).toHaveBeenCalled();
}
it('should be called redirectToAuth function', () => {
const loginService = TestBed.inject(LoginService);
spyOn(loginService, 'redirectToAuth').and.callFake;
component. handleLogin();
expect(loginSerive.redirectToAuth).toHaveBeenCalled();
}
答案 1 :(得分:0)
由于涉及到服务,因此您应该“ UNIT” 进行测试,因此,您应该模拟该服务,并期望在调用{{1 }}方法。
类似这样的东西:
handleLogin