mongodb - 如何使用 mongo-go-driver 模拟光标

标签 mongodb go mongo-go

我刚学了go语言,然后用https://github.com/mongodb/mongo-go-driver使用 MongoDB 和 Golang 制作 rest API,然后我正在做一个单元测试,但是在模拟 Cursor MongoDB 时我被卡住了,因为 Cursor 是一个结构,是一个想法还是有人做到了?

最佳答案

在我看来,模拟这种对象的最佳方法是定义一个接口(interface),因为在 go 接口(interface)中是隐式实现的,您的代码可能不需要那么多更改。一旦你有了一个接口(interface),你就可以使用一些第三方库来自动生成模拟,比如 mockery

关于如何创建接口(interface)的示例

type Cursor interface{
  Next(ctx Context)
  Close(ctx Context)  
}

只需更改任何接收 mongodb 游标的函数即可使用自定义界面

关于mongodb - 如何使用 mongo-go-driver 模拟光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58143555/

相关文章:

user-interface - MongoDB的GUI工具

json - 如何正确处理通过curl通过docker传递的go中的json数据

mongodb - Mongo go 驱动的 DocumentCount 不支持 $nearSphere

mongodb - mongo-go-driver获取插入的文档

python - PyMongo:类型错误:规范必须是 dict 的实例

mongodb - 一起使用 MongoDB 和 Redis?

javascript - 更新收藏并在满足条件时发送电子邮件 || Mongo Node

go - 如何解决Go channel 死锁?

go - 如何使用 reflect.Type 执行类型断言

mongodb - 如何使用官方的 mongo-go-driver 从 mongo 文档中过滤字段