如何刷新一个冷的可观察对象而不是测试中的所有可观察对象?

How to flush one cold observable as opposed to all observables in the test?

getTestScheduler().flush() 刷新测试中的所有可观察值。有没有办法精细地刷新可观察对象?

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

@Alexander Poshtaruk 评论后,我看了一下jasmine-marbles的源码。

不幸的是,无法独立地制作 jasmine-marbles 刷新可观察对象,因为它们都依赖于同一个 TestScheduler 实例。

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

jasmine.getEnv().beforeEach(() => initTestScheduler());
jasmine.getEnv().afterEach(() => {
    getTestScheduler().flush();
    resetTestScheduler();
});

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