【发布时间】:2023-02-17 01:41:46
【问题描述】:
我有下面的 Node JS 和 mongoose 代码。我必须模拟此查询以在我的 JEST 单元测试中抛出错误。谁能帮我实现它?
return new Promise(async (resolve, reject) => {
try {
const data = await users
.find(filter, porjectFields)
.populate({
path: 'user.address',
populate: {
path: 'location'
}
})
.lean();
resolve(data);
} catch (err) {
logger.error(
`Error in user : ${err}`
);
reject(err);
}
});
我试着像下面那样模拟,但我在精益功能上遇到了错误。
users.find = jest.fn().mockImplementation(() => ({
populate: jest.fn().mockReturnValue({ name: 'hello' }),
lean: true
}));
错误:
TypeError: users.find(...).populate(...).lean 不是函数
【问题讨论】: