我将业务逻辑封装在setImmediate中,如下所示:
// business logic
export async function myFunc() {
setImmediate(() => {
myModule.doStuff();
});
}我想对myModule.doStuff()调用进行期望。但是,我不能这样做,因为在执行setImmediate之前,测试代码就在调用堆栈上。如何将期望寄托在包装在setImmediate中的代码上?
发布于 2020-12-14 20:11:42
由于setImmediate是一种非标准方法,因此jasmine不支持模拟其时钟。
此方法可用来代替setTimeout(fn,0)方法来执行繁重的操作。
因此,您可以使用setTimeout(fn ,0)来替换它,它们是等效的。然后,您可以使用jasmine.clock来模拟时钟。
更多信息,请参见issue#866。
https://stackoverflow.com/questions/64079930
复制相似问题