Как смоделировать курсор с помощью mongo-go-driver - PullRequest
0 голосов
/ 28 сентября 2019

Я только что выучил go language, а затем использовал https://github.com/mongodb/mongo-go-driver для создания оставшегося API с MongoDB и Golang, а затем я делаю модульный тест, но я застрял при издевательстве над Cursor MongoDB, потому что Cursor являетсяструктура, идея для этого или кто-то сделал это?

1 Ответ

0 голосов
/ 28 сентября 2019

На мой взгляд, лучший подход к моделированию объектов такого типа - определить интерфейс, так как в go-интерфейсах реализованы неявно, и вашему коду, вероятно, не понадобится так много изменений.Если у вас есть интерфейс, вы можете использовать стороннюю библиотеку для автоматической генерации макетов, например mockery

Пример создания интерфейса

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

Просто измените любойфункция, которая получает курсор mongodb для использования пользовательского интерфейса

...