簡體   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