如何模拟像findOne()这样的mongoose查询?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何模拟像findOne()这样的mongoose查询?相关的知识,希望对你有一定的参考价值。

我要模仿mongoose函数qazxsw poi。这就是我尝试过的。

1)

find()

2)

jest.mock("./user.model")
UserModel.findOne.mockResolvedValue(await UserModel.findOne({email: "test@gmail.com"}))

但两者都不起作用,什么是解决方案?我想让UserModel的findOne始终返回特定记录。

谢谢

答案

假设const findOne = jest.fn(); findOne.mockResolvedValue(await UserModel.findOne({email: "test@gmail.com"})) UserModel模型实例,你可以做以下事情:

mongoose

一些是参考:

  • jest.spyOn(UserModel, 'findOne').mockReturnValue(Promise.resolve({ email: "test@gmail.com" }))
  • mockReturnValue

以上是关于如何模拟像findOne()这样的mongoose查询?的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose findOne() 和 find() 返回无效值,它们应该分别返回 null / 空列表

mongoose 文档 Promises

如何使用猫鼬 findOne

Mongoose findOne as : Array = [FindOne , FindOne, FindOne ,FindOne, FindOne...] ,使用 ExpressJs

FindOne() mongoose 的问题

带有 $or 条件的 Mongoose findOne 方法会引发错误