HostListener (Window Resize)的Angular单元测试



我有一个组件文件,下面的代码

@HostListener('window:resize', ['$event'])
onResize(event) {
this.width = event.target.innerWidth;
}

我想测试一下。我已经在我的规范文件中尝试了下面的代码。

window.dispatchEvent(new Event("resize");
expect(component.onResize).toHaveBeenCalled();

,但它不工作。如有任何帮助,不胜感激。

我也有同样的问题,我使用Spy来解决由resize事件触发的函数。

it('should trigger onResize method when window is resized', () => {
const spyOnResize = spyOn(component, 'onResize');
window.dispatchEvent(new Event('resize'));
expect(spyOnResize).toHaveBeenCalled();
});

希望有帮助!

最新更新