【问题标题】:How to flush one cold observable as opposed to all observables in the test?与测试中的所有可观察对象相比,如何刷新一个冷可观察对象?
【发布时间】:2018-11-06 22:22:15
【问题描述】:

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

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

【问题讨论】:

  • 请提供codepen或至少测试代码+测试列表。从来没有这样做过,但你可以尝试创建一些 testScheduler 实例然后独立运行

标签: unit-testing rxjs6 jasmine-marbles


【解决方案1】:

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

不幸的是,没有办法让 jasmine-marbles 独立刷新 observables,因为它们都依赖于同一个 TestScheduler 实例。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多