Я пытаюсь использовать Mockery для насмешки над Http-клиентом, но когда я пытаюсь передать возвращаемое значение, я получаю сообщение об ошибке: type http.Response is not an expression
Ниже мой интерфейс и обработчик
type HTTPClient interface {
Get(url string) (resp *http.Response, err error)
}
type Handler struct {
httpClient HTTPClient
}
Mockery сгенерировал фиктивный класс, который выглядит следующим образом
type HTTPClient struct {
mock.Mock
}
// Get provides a mock function with given fields: url
func (_m *HTTPClient) Get(url string) (*http.Response, error) {
ret := _m.Called(url)
var r0 *http.Response
if rf, ok := ret.Get(0).(func(string) *http.Response); ok {
r0 = rf(url)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*http.Response)
}
}
var r1 error
if rf, ok := ret.Get(1).(func(string) error); ok {
r1 = rf(url)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
В моем тесте я пытаюсь смоделировать httpclient как показано ниже
httpClient := &mocks.HTTPClient{}
httpClient.On("Get", request.SubscribeURL).Return(resp*http.Response, nil)
Я не уверен, что Параметры, которые я должен вернуть. Что я должен проходить?