如何刷新一个冷的 observable 而不是测试中的所有 observable?

max*_*pre 5 unit-testing jasmine-marbles rxjs6

getTestScheduler().flush()刷新测试中的所有 observables。有没有办法精细地刷新 observables?

例如 cold('--x', {x: {}}).flush()

max*_*pre -2

@Alexander Poshtaruk 评论后,我看了一下jasmine-marbles.

不幸的是,没有办法jasmine-marbles独立地创建刷新可观察量,因为它们都依赖于同一个TestScheduler实例。

jasmine-marblesTestScheduler在每个规范之前和之后自动初始化并重置实例:

jasmine.getEnv().beforeEach(() => initTestScheduler());
jasmine.getEnv().afterEach(() => {
    getTestScheduler().flush();
    resetTestScheduler();
});
Run Code Online (Sandbox Code Playgroud)

TestScheduler您可以简单地为要刷新的每组可观察值手动创建多个实例。