Как тестировать HTTP handler?

Middle
946 просмотров
AFK Offer AI

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

Следующий вопрос

Что такое database/sql?