На мой взгляд, лучший подход к моделированию объектов такого типа - определить интерфейс, так как в go-интерфейсах реализованы неявно, и вашему коду, вероятно, не понадобится так много изменений.Если у вас есть интерфейс, вы можете использовать стороннюю библиотеку для автоматической генерации макетов, например mockery
Пример создания интерфейса
type Cursor interface{
Next(ctx Context)
Close(ctx Context)
}
Просто измените любойфункция, которая получает курсор mongodb для использования пользовательского интерфейса