mongodb - 如何使用 mongo-go-driver 模拟光标
问题描述
我刚刚学习了 Go 语言,然后使用https://github.com/mongodb/mongo-go-driver使用 MongoDB 和 Golang 制作休息 API,然后我正在做一个单元测试,但是在模拟 Cursor 时我被卡住了MongoDB,因为 Cursor 是一个结构,是一个想法还是有人做出来的?
解决方案
在我看来,模拟此类对象的最佳方法是定义一个接口,因为在 go 接口中是隐式实现的,您的代码可能不需要那么多更改。一旦你有了一个接口,你就可以使用一些第三方库来自动生成模拟,比如模拟
关于如何创建接口的示例
type Cursor interface{
Next(ctx Context)
Close(ctx Context)
}
只需更改任何接收 mongodb 游标的函数即可使用自定义界面
推荐阅读
- django - 配置工具栏以粘贴纯文本 django-ckeditor
- rubygems - 如何从 Ruby 获取本地版本的 gem?
- gitlab - 项目ID的Gitlab永久链接
- c - 试图在 C 中实现管道 - shell 挂起并且没有运行命令
- r - 尝试将在单个列中重复的观察结果合并
- apache-flink - Flink中的地图显示为通用?
- html - 禁用 div 并更改光标
- python - python中的A,B = C是什么?
- java - 寻找像 FlowLayout 这样的布局,但允许您为每个组件选择单独的对齐方式
- javascript - 使用 splitChunks cacheGroups commons 时 webpack 代码重复数据删除不起作用