Несколько подходов: 1) httptest.NewServer — поднимаешь реальный HTTP сервер в тесте, направляешь клиент на него. Самый надёжный. 2) Интерфейс: type HTTPDoer interface { Do(*http.Request) (*http.Response, error) }, мокируешь в тестах. 3) Custom RoundTripper: http.Client{Transport: &mockTransport{}} — подменяешь transport layer. 4) Пакеты: github.com/jarcoal/httpmock. httptest.NewServer — золотой стандарт: тестирует реальный HTTP, включая headers, status codes, body. Для unit тестов — интерфейс, для integration — httptest.
Как мокировать HTTP клиент?
Middle
535 просмотровAFK Offer AI
Как спроектировать notification service?