В статье рассматривается тестирование unary gRPC сервисов на Go.
Конечно, лучше тестировать бизнес-логику напрямую, без gRPC, но иногда необходимо проверить полный стек: обработку статус-кодов, интерсепторы, дедлайны, метаданные и структурированные ошибки. Для этого предлагается использовать bufconn - in-memory listener из библиотеки gRPC, который позволяет поднять реальный сервер и клиент внутри тестового процесса без использования TCP-сокетов.
В статье на примере сервиса BookStore демонстрируются два подхода: прямое тестирование хендлеров с фейковым хранилищем и тестирование через bufconn. Второй подход незаменим для проверки интерсепторов, проброса дедлайнов и метаданных, а также корректной сериализации расширенных ошибок
01.04.2026
Похожее
15.05.2026
Слайсы, мапы и каналы
Продолжается цикл статей про внутреннее устройство Go. Эта статья разбирает внут...
14.05.2026
JIT для go
В статье про JIT-компилятор для Go версии 1.17+, форк проекта nelhage/gojit. ...
13.05.2026
PGKeeper
PGKeeper - это сервис на Go, который команда Figma разработала для замены устаре...
12.05.2026
CPU нагрузка
В статье рассматриваются проблемы оптимизации кода на Go, который нагружает CPU...