首页 > 解决方案 > 如何使用 mongo-go-driver 模拟光标

问题描述

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

标签: mongodbgomongo-go

解决方案


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

关于如何创建接口的示例

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

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


推荐阅读