gpt4 book ai didi

angular - 如何对 Angular 中的 void 函数进行单元测试?

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:02 24 4
gpt4 key购买 nike

我是 angular 的新手,我正在测试我的登录组件,它是这样的。它有一个 handleLogin() 函数,它是无效的。它重定向到另一个函数,如下所示.

loginComponent

如何测试此功能?它重定向到其他一些功能,该功能也重定向到其他地方。如何测试如此复杂的功能。

最佳答案

由于涉及到一个服务并且您应该“UNIT” 测试该组件,您应该模拟该服务并期望在您调用 时调用它的方法组件上的 handleLogin 方法。

像这样:

import { LoginComponent } from './login.component';
import { LoginService } from '../../services/login.service';
import { AuthenticationService } from './auth.service';

describe('Component: Login', () => {

let component: LoginComponent;
let service: LoginService;
let spy: any;

beforeEach(() => {
service = new LoginService();
component = new LoginComponent(service);
});

afterEach(() => {
service = null;
component = null;
});

describe('Method: handleLogin', () => {

it('should call the `redirectToAuth` method on the `LoginService`', () => {
spy = spyOn(service, 'redirectToAuth');
component.handleLogin();
expect(spy).toHaveBeenCalled();
});

});

});

关于angular - 如何对 Angular 中的 void 函数进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53369144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com