Angular 如何在父组件中测试角度事件发射器?
我想编写一个单元测试来测试父组件中的事件发射器 父组件中的html代码:Angular 如何在父组件中测试角度事件发射器?,angular,unit-testing,Angular,Unit Testing,我想编写一个单元测试来测试父组件中的事件发射器 父组件中的html代码: 父组件中的组件ts代码: public removietem(项:摘要项):无效{ 如果(item.actionState!=“必需”){ this.wizardService.updateSummaryItem(项); } } 如何测试(removietem)=“removietem($event)”?向向导侧栏项目组添加一个类,如: <wizard-sidebar-item-group class="wiz
父组件中的组件ts代码:
public removietem(项:摘要项):无效{
如果(item.actionState!=“必需”){
this.wizardService.updateSummaryItem(项);
}
}
如何测试
(removietem)=“removietem($event)”
?向向导侧栏项目组添加一个类,如:
<wizard-sidebar-item-group class="wizard" ... >
您可以通过获取对子组件的引用(使用debugElement)并通过直接发出事件进行欺骗,或者像实际用户那样使用UI触发子组件发出事件,来执行子组件发出此类事件所必需的操作。
it('remove item should be triggered', () => {
fixture = TestBed.createComponent(MyParentComponent);
component = fixture.componentInstance;
fixture.detectChanges();
spyOn(component, 'removeItem');
const wizardElement = fixture.debugElement.query(By.css('.wizard'));
wizardElement.triggerEventHandler('removeItem', {});
fixture.detectChanges();
expect(component.removeItem).toHaveBeenCalled();
});