Я пытаюсь запустить модульное тестирование на сервере и использую «github.com/stretchr/testify/mock» для проверки уровня базы данных.Размещение всего кода здесь сделает его очень запутанным, поэтому я создал небольшой проект, который даст представление о структуре моего кода и о том, чего я на самом деле пытаюсь достичь "https://github.com/utkarsh17ife/goMockPractice". Вы можете взять этот код и запустить" go test. / ... "(Не уверен, что указание ссылки на github - это правильная вещь, но я чувствую, что это облегчит задачу)
Структура сервера имеет поле db, которое имеет тип interface, поэтому когдамы создаем нормальный сервер, которому назначена БД с реальной базой данных, но при тестировании она назначается с фиктивной базой данных. Но проблема в том, что я не могу сделать следующее на БД
srv.db.On("Insert", "some data").Return(true)
srv.db.AssertExpectations(t)
в качестве интерфейса БДне имеет полей «Вкл» и «AssertExpectations».
Похоже, это не способ реализации насмешек, пожалуйста, дайте мне знать правильный способ проверки этого.