测试单位测试角度时进行滚动曲线



在Angular 2 中的单元测试scrollintoview((方法时,我会收到一个错误 -> "失败:无法读取属性'scrollintoview'in angular 2

这是我的scrollintoview代码:

 document.getElementsByClassName('class')[0].scrollIntoView();

关于如何解决此槽的任何想法?

可能太晚了,无法回答。

这是测试document.getElementsByClassName('someDiv')[0].scrollIntoView({...})

的解决方案之一

您可以创建spyOn

spyOn(document.getElementsByClassName('someDiv')[0], 'scrollIntoView').and.callThrough(); 

,然后期望scrollintoview被称为

expect(document.getElementsByClassName('someDiv')[0].scrollIntoView).toHaveBeenCalled();

确保您的 document.getElementsByClassName('someDiv')[0]在不确定的情况下添加了额外的期望:

expect(document.getElementsByClassName('someDiv')[0]).not.toBeDefined();

你好,我尝试了这种方法

  1. 我已经定义了要滚动到
  2. 的元素

   
 <div #highlightsContainer>... </div>

  1. 我已经在组件中定义了一个视频和我过去滚动的方法

@ViewChild('highlightsContainer') highlightsContainer;  

scrollToHighlightsContainer() {
       setTimeout(() => { this.highlightsContainer.nativeElement.scrollIntoView(true)});
}

  1. 然后在我的测试中

  it('should scroll', fakeAsync(() => {
      component.highlightsContainer.nativeElement.scrollIntoView = jest.fn();
      component.scrollToHighlightsContainer();
      tick();
      expect(component.highlightsContainer.nativeElement.scrollIntoView)
        .toHaveBeenCalled();
}));

相关内容

  • 没有找到相关文章

最新更新