@H_301_1@我正在将一些旧测试转换为使用Jest,并且有一个称为Services.Transactions.get的函数.通常,您将回调传递给它,以处理从远程API返回的数据.在我的测试中,我在模拟它,使用
@H_301_1@
>尝试也替换使用watchImplementation调用的watch方法 @H_301_1@以上都不起作用.文件服务不是ES6模块,因此我更希望避免进行模块级模拟.我还有其他选择吗?
jest.spyOn(Services.Transactions,'get').mockImplementation((callback) => { callback(someJsObject); });
@H_301_1@到现在为止还挺好.
@H_301_1@现在的问题是,它又具有方法Services.Transactions.get.watch.我正在测试的模块同时使用了这两个功能.一旦模拟了上面的第一个,就无法模拟watcher方法.有人告诉我Services.Transactions.get.watch不是一个函数.
@H_301_1@我试过了:
@H_301_1@>使用在其上定义的空watch方法定义函数,并将其用作get的实现.>尝试也替换使用watchImplementation调用的watch方法 @H_301_1@以上都不起作用.文件服务不是ES6模块,因此我更希望避免进行模块级模拟.我还有其他选择吗?
最佳答案