unit-testing - 如何对 void 值的可观察值进行大理石测试?
问题描述
使用 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 ???
});
解决方案
作为一种解决方法,我通过管道传输了 observable 的源.mapTo('a')
,然后能够编写:
testScheduler.run(rx => {
rx.expectObservable(myObservable.pipe(mapTo('a'))).toBe(`20ms a 19ms a`);
});
推荐阅读
- c# - 按条件分组并为每个组创建不同的匿名模型 EF6
- cron - 在 Apple M1 中使用 crontab 时 for 循环不起作用
- python - Python Pygame俄罗斯方块克隆中的重复行
- vb.net - Guna.UI 应用程序未打开,即使 dll 已合并
- c# - 执行策略“SqlServerRetryingExecutionStrategy”不支持用户发起的事务
- forms - 创建新表格
- c++ - 信号量和内存排序
- reactjs - 阻止 iframe 导航并在 React 中获取链接
- java - 一次又一次出现同样的错误 - '编码密码看起来不像 BCrypt '
- javascript - Context API 和 Redux 的区别