我在 Angular 组件中有以下代码:
@HostListener('window:scroll', []) onWindowScroll() {
this.showScrollToTop = false;
}
我该如何在Jasmine中进行测试?如何触发窗口滚动事件?
我在 Angular 组件中有以下代码:
@HostListener('window:scroll', []) onWindowScroll() {
this.showScrollToTop = false;
}
我该如何在Jasmine中进行测试?如何触发窗口滚动事件?
测试window:scroll事件:
it('should do something on window scroll', () => {
window.dispatchEvent(new Event('scroll'));
expect(...)....
});
您可以通过在窗口上调用scrollTo
函数来尝试制作简单的JS滚动。
如果您想要滚动到顶部,可以使用以下代码:
window.scrollTo(0, 0);
更新
var scrollEvent = document.createEvent('CustomEvent');
scrollEvent.initCustomEvent( 'scroll', false, false, null );
window.dispatchEvent(scrollEvent)
scroll
的自定义事件?我会更新我的答案。 - Mikki Kobvel it('Focus over elements', () => {
fixture.detectChanges();
const event = new Event('click', { bubbles: true });
const spyDocumentClick = spyOn(component, 'clickout').and.callThrough();
component.clickout(event);
expect(spyDocumentClick).toHaveBeenCalled();
});