Я издеваюсь над DataStore, и это функция Get/Set. У меня есть проблема: не могу использовать s (тип * MockStore) как type * datastore.Storage в аргументе EventHandlerGolang Mocking - проблемы с типом столкновения
Это вызвано моей функцией EventHandler, которая должна быть передана * datastore.Storage как тип аргумента , Я хочу протестировать (http-тест) EvenHandler() с помощью MockStore, который я создал вместо реального хранилища данных. Я использую пакет golang testify mock.
Некоторых примеры кода
type MockStore struct{
mock.Mock
}
func (s *MockStore) Get() ...
func EventHandler(w http.ResponseWriter, r *http.Request, bucket *datastore.Storage){
//Does HTTP stuff and stores things in a data store
// Need to mock out the data store get/sets
}
// Later in my Tests
ms := MockStore
EventHandler(w,r,ms)
Я работал с этим - но это не похоже, чтобы решить основную проблему в качестве аргумента «ведра» EventHandler существа типа datastore.Storage. В вашей строке EventHandler (w, r, ms) ms - структура MockStore. Таким образом, ошибка: нельзя использовать тип MockStore как тип хранилища данных. Хранилище все еще существует. –
@HackingLife: Я только что обновил свой ответ; посмотрите, помогают ли эти изменения. –
Хорошая сделка - это отлично работает –