假设我有一个在单击时发出事件的组件,即
@Component({
selector: 'component-checkout-payment',
template: `<button (click)="click()>Click me</button>`
})
export class TestComponent{
@Output() clicked = new EventEmitter<boolean>();
click() {
this.clicked.emit(true);
}
}
然后我会像下面那样分别测试事件和组件方法吗?
it('should emit an event when `click` is called`, () => {
jest.spyOn(component.clicked, 'emit');
component.click();
expect(component.clicked.emit).toHaveBeenCalledWith(true);
});
it('should call `click` when button has been clicked`, () => {
jest.spyOn(component, 'click');
let button = fixture.debugElement.nativeElement.querySelector('button');
button.click();
expect(component.click).toHaveBeenCalled();
})
或者我会测试当按钮被点击时,它又会发出一个事件吗?
it('should emit event when button has been clicked`, () => {
jest.spyOn(component.clicked, 'emit');
let button = fixture.debugElement.nativeElement.querySelector('button');
button.click();
expect(component.clicked.emit).toHaveBeenCalledWith(true)
})
我假设是后者,因为它将前两个测试合二为一。不过我想澄清一下。
我还想知道这些类型的测试是单元测试、集成测试还是 e2e 测试。
千巷猫影
相关分类