【问题标题】:How do I marble-test an observable of void values?如何对 void 值的可观察值进行大理石测试?
【发布时间】:2021-01-23 06:13:06
【问题描述】:

使用 RXJS 的 TestScheduler,有没有一种很好的方法可以对发出 undefined 值的类似事件的 observable 进行弹珠测试?

我使用的是 TypeScript,所以类型规避/猴子补丁是不可取的。

testScheduler.schedule(() => valueEmittingWork(), 20);
testScheduler.schedule(() => valueEmittingWork(), 40);

testScheduler.run(rx => {
    rx.expectObservable(myObservable).toBe(`20ms ??? 19ms ???`);
    // Above uses the new time progression syntax. What do I put instead of ???
});

【问题讨论】:

    标签: unit-testing rxjs rxjs-marbles


    【解决方案1】:

    作为一种解决方法,我使用.mapTo('a') 将可观察的源通过管道传输,然后能够编写:

    testScheduler.run(rx => {
        rx.expectObservable(myObservable.pipe(mapTo('a'))).toBe(`20ms a 19ms a`);
    });
    

    【讨论】:

      猜你喜欢
      • 2021-05-20
      • 2020-08-28
      • 2023-03-16
      • 1970-01-01
      • 2020-05-21
      • 2020-08-02
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多