【发布时间】:2020-02-20 06:59:28
【问题描述】:
我正在尝试在 Angular 6 中测试 scrollIntoView() 并收到此错误 --> TypeError: Cannot read property 'scrollIntoView' of null
规格:
beforeEach(() => {
fixture = TestBed.createComponent(BusinessInfoComponent);
component = fixture.componentInstance;
component.ngOnInit();
spyOn(document.getElementById('info-banner'), 'scrollIntoView').and.callThrough();
expect(document.getElementById('info-banner').scrollIntoView).toHaveBeenCalled();
expect(document.getElementById('info-banner')).not.toBeDefined();
fixture.detectChanges();
});
ts:
ngOnInit() {
document.getElementById('info-banner').scrollIntoView();
}
【问题讨论】:
-
能否添加组件html。此组件中存在信息横幅
-
@HitechHitesh 我的组件的 html 中没有 info-banner,我指的是来自不同组件的 document.getElementById(info-banner)....
-
这就是它不起作用的原因
-
是否可以测试这个特定场景?? @HitechHitesh
-
代码在运行中是否有效
标签: angular typescript jasmine karma-jasmine