单元测试 – 任何方式在Angular2中测试EventEmitter?
发布时间:2020-12-17 09:29:25 所属栏目:安全 来源:网络整理
导读:我有一个使用EventEmitter的组件,当单击页面上的某个人时使用EventEmitter.有什么办法可以在单元测试期间观察EventEmitter,并使用TestComponentBuilder单击触发EventEmitter.next()方法的元素,并查看发送的内容? 您的测试可能是: it('should emit on click
我有一个使用EventEmitter的组件,当单击页面上的某个人时使用EventEmitter.有什么办法可以在单元测试期间观察EventEmitter,并使用TestComponentBuilder单击触发EventEmitter.next()方法的元素,并查看发送的内容?
您的测试可能是:
it('should emit on click',inject([],() => { tcb.createAsync(MyComponent) .then((fixture) => { // spy on event emitter let component = fixture.componentInstance; spyOn(component.myEventEmitter,'emit'); // trigger the click let nativeElement = fixture.nativeElement; let button = nativeElement.querySelector('button'); button.dispatchEvent(new Event('click')); fixture.detectChanges(); expect(component.myEventEmitter.emit).toHaveBeenCalledWith('hello'); }); })); 当你的组件是: @Component({ ... }) class MyComponent { @Output myEventEmitter = new EventEmitter(); buttonClick() { this.myEventEmitter.emit('hello'); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |