我正在尝试编写具有100%代码覆盖率(行)的单元测试,并且遇到了以下代码片段:
getValuesPeriodically(updateInterval: number) {
interval(updateInterval)
.subscribe(() =>
this.getFilesFromService()
);
}
我不知道如何介绍这一部分:
() =>
this.getFilesFromService()
我尝试使用fakeAsync和tick()实现单元测试,但是异步给了我一条错误消息:
it('timer test', fakeAsync(() => {
fixture.detectChanges();
expect(component.filesData.length).toBe(0);
tick(1000);
fixture.detectChanges();
expect(component.filesData.length).toBeGreaterThan(0);
}));
我收到以下错误:
TypeError:无法读取null的属性“ assertPresent”
我不确定这是否是覆盖单元测试缺失部分的正确方法。
可以帮忙吗?
答案 0 :(得分:0)
通常,您的代码对我来说看起来不错。您的方法超级有效,我自己这样做。因此,我认为这更像是您的一般设置问题。也许这可以帮助您Testing | Cannot read property 'assertPresent' of undefined at resetFakeAsyncZone