在Angular 2+中单元测试scrollintoview()方法时,我收到错误 - > "失败:无法读取属性' scrollIntoView'未定义"在Angular 2 +
这是我的scrollintoview代码:
document.getElementsByClassName('class')[0].scrollIntoView();
有关如何通过执行脚本解决此问题的任何想法?
答案 0 :(得分:0)
可能一年后才回答这个问题。
这是测试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 :(得分:0)
你好,这个方法我试过了
.wrapper {
border: 4px dotted rgb(96, 139, 168);
width: 500px;
}
.box {
display: flex;
flex-wrap: wrap;
margin:-10px;
}
.box>* {
flex: 1 1 160px;
margin: 10px;
/*presentation styles*/
background-color:#4a56cada;
color:white;
height:40px;
}
<div class="wrapper">
<div class="box">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
<div>Six</div>
<div>Seven</div>
<div>Eight</div>
<div>Nine</div>
<div>Ten</div>
</div>
</div>
<div #highlightsContainer>... </div>