首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jest,mock Mongoose model with lean()

Jest,mock Mongoose model with lean()
EN

Stack Overflow用户
提问于 2021-05-29 00:33:04
回答 1查看 55关注 0票数 0

我正在测试一个函数,该函数对我想要模拟的模式进行异步调用:

代码语言:javascript
运行
复制
const someFunction = async (id) => {
  const data = await SomeModel.findById(id).lean()

因此,为了保持代码的逻辑,我想模拟SomeModel

data应该是如下所示的对象:{ _id: 'someId' }

但是我应该如何对应用于SomeModel.findByIdlean()方法进行模拟呢?

我试过这个:

代码语言:javascript
运行
复制
SomeModel.findById.mockReturnValueOnce({ _id: 'someId' })
SomeModel.findById.mockImplementationOnce(() => Promise.resolve({ _id: 'someId' }))

但它没有逻辑,因为我需要模拟的是包括lean()在内的整个代码行,有什么提示吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-29 01:03:30

我用以下方法解决了这个问题:

代码语言:javascript
运行
复制
SomeModel.findById.mockImplementationOnce(() => ({
  lean: jest.fn().mockReturnValue({ _id: 'someId' }),
}));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67742566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档