我认为在使用Promises测试代码时,需要使用fakeAsync / tick组合来保证promises是resolve / rejects。这是因为tick在调用时会排出微任务队列。
然而,Observables怎么样?我们是否还应该使用fakeAsync / tick来保证调用订阅处理程序? 使用Observables的单元测试看起来很好,通知了所有订阅的Observer实例,没有fakeAsync / tick,所以我不确定是否需要它。
谢谢
答案 0 :(得分:0)
迟到的答案(你现在可能已经想到了这一点)。虽然如果其他人有同样的疑问,我想提一下。
如下面的答案所解释,&#34;每个可观察的运算符使用执行其工作所需的最小异步性数量<#34; 。
所以它主要取决于我们使用的RxJs运算符。
让我们说,我们在运行单元测试时使用Subject / BehaviorSubject来推送流中的新值(我相信这是模拟基于Observable的数据存储实现的方法之一),然后< strong>我们不需要伪造异步并勾选,因为订阅处理程序将被同步调用。