如何对可观察到的空隙值进行大理石测试?

问题描述

使用RXJS的TestScheduler,是否有一种不错的方法来大理石测试发出undefined值的类似事件的可观察物?

我正在使用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 ???
});

解决方法

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

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