繁体   English   中英

如何对 rxjs 间隔进行单元测试

[英]How to unit test rxjs interval

我正在尝试编写一个具有 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);

    }));

我收到以下错误:

类型错误:无法读取 null 的属性“assertPresent”

我不确定这是否是涵盖我的单元测试中缺失部分的正确方法。

你能帮忙吗?

一般来说,你的代码对我来说看起来不错。 你的方法非常有效,我自己就是这样做的。 所以我认为这更像是您的一般设置问题。 也许这可以帮助你测试| 无法在 resetFakeAsyncZone 读取未定义的属性“assertPresent”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM