作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 angular 的新手,我正在测试我的登录组件,它是这样的。它有一个 handleLogin()
函数,它是无效的。它重定向到另一个函数,如下所示.
如何测试此功能?它重定向到其他一些功能,该功能也重定向到其他地方。如何测试如此复杂的功能。
最佳答案
由于涉及到一个服务并且您应该“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/
我是一名优秀的程序员,十分优秀!