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

标签 unit-testing rxjs6 jasmine-marbles

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

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

最佳答案

在@Alexander Poshtaruk 发表评论后,我查看了 jasmine-marbles 的源代码.

不幸的是,没有办法使jasmine-marbles独立刷新 observables,因为它们都依赖于相同的 TestScheduler实例。
jasmine-marbles初始化并重置 TestScheduler在每个规范之前和之后自动实例:

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

您可以简单地手动创建多个 TestScheduler您希望刷新的每组 observables 的实例。

关于unit-testing - 如何刷新一个冷的 observable 而不是测试中的所有 observable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51287460/

相关文章:

rxjs - 如何使 rxjs 弹珠同步分组只占用一帧

unit-testing - 如何使用Ginkgo对HTTP请求进行单元测试?

javascript - 如何使用配置选项测试 axios

javascript - Rxjs 阻止订阅中的订阅

angular - `of` 运算符和 `Observable.of` 之间的区别

angular - 如何告诉 Jasmine Marbles 将数组作为一个单元返回,而不是作为对观察者的两个单独调用

unit-testing - 子目录的 golang 测试失败

c# - .NET 中的单元测试服务层

typescript - 使用 Rxjs 6 在 Angular 6 中返回一个空/空的 Observable