В Go для этого есть пакет httptest. Создаёшь httptest.NewRequest для запроса и httptest.NewRecorder вместо реального ResponseWriter. Передаёшь их в handler — он пишет ответ в recorder. Потом проверяешь recorder.Code, recorder.Body и заголовки. Никакого реального HTTP-сервера не нужно. Для тестирования всего роутера целиком можно использовать httptest.NewServer, который поднимает реальный сервер на случайном порту.
Как тестировать HTTP handler?
Middle
1.1k просмотровAFK Offer AI
Что такое internal пакет?