【发布时间】:2021-05-29 01:03:30
【问题描述】:
我正在测试一个对我想要模拟的模式进行异步调用的函数:
const someFunction = async (id) => {
const data = await SomeModel.findById(id).lean()
所以,我想模拟 SomeModel 以保持代码的逻辑。
data 应该是这样的对象:{ _id: 'someId' }
但是我应该如何使用应用于SomeModel.findById 的lean() 方法进行模拟?
我试过了:
SomeModel.findById.mockReturnValueOnce({ _id: 'someId' })
SomeModel.findById.mockImplementationOnce(() => Promise.resolve({ _id: 'someId' }))
但它没有逻辑,因为我需要模拟的是包括lean()在内的整行
有什么提示吗?
【问题讨论】: