В статье рассматривается тестирование unary gRPC сервисов на Go.
Конечно, лучше тестировать бизнес-логику напрямую, без gRPC, но иногда необходимо проверить полный стек: обработку статус-кодов, интерсепторы, дедлайны, метаданные и структурированные ошибки. Для этого предлагается использовать bufconn - in-memory listener из библиотеки gRPC, который позволяет поднять реальный сервер и клиент внутри тестового процесса без использования TCP-сокетов.
В статье на примере сервиса BookStore демонстрируются два подхода: прямое тестирование хендлеров с фейковым хранилищем и тестирование через bufconn. Второй подход незаменим для проверки интерсепторов, проброса дедлайнов и метаданных, а также корректной сериализации расширенных ошибок
01.04.2026
Похожее
28.09.2026
C на Go
Интересный пропозал - добавить возможность сборки Go-пакетов, использующих cgo д...
25.09.2026
Бенчим джейсон
Автор на реальном API с нагрузкой 50M запросов/сутки)сравнивает производительнос...
24.09.2026
Rune
Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. ...
23.09.2026
Специализированные аллокаторы
В Go 1.27 появилась оптимизация выделения памяти для объектов размером до 80 бай...