В статье рассматривается тестирование unary gRPC сервисов на Go.
Конечно, лучше тестировать бизнес-логику напрямую, без gRPC, но иногда необходимо проверить полный стек: обработку статус-кодов, интерсепторы, дедлайны, метаданные и структурированные ошибки. Для этого предлагается использовать bufconn - in-memory listener из библиотеки gRPC, который позволяет поднять реальный сервер и клиент внутри тестового процесса без использования TCP-сокетов.
В статье на примере сервиса BookStore демонстрируются два подхода: прямое тестирование хендлеров с фейковым хранилищем и тестирование через bufconn. Второй подход незаменим для проверки интерсепторов, проброса дедлайнов и метаданных, а также корректной сериализации расширенных ошибок
01.04.2026
Похожее
17.04.2026
Черный ящик
Вдохновившись механизмом trace.FlightRecorder, появившимся в Go 1.25, автор реши...
16.04.2026
Версионирование
В статье автор делится опытом разбора инцидента, где отсутствие информации о вер...
15.04.2026
Константные мапы
В Go существует стандартная карта, которая для миллиона записей потребляет около...
14.04.2026
Вызываем Rust из Go
В принципе, нет никаких сложностей работать с Rust через cgo. Но автор решил зам...