В статье рассматривается тестирование unary gRPC сервисов на Go.
Конечно, лучше тестировать бизнес-логику напрямую, без gRPC, но иногда необходимо проверить полный стек: обработку статус-кодов, интерсепторы, дедлайны, метаданные и структурированные ошибки. Для этого предлагается использовать bufconn - in-memory listener из библиотеки gRPC, который позволяет поднять реальный сервер и клиент внутри тестового процесса без использования TCP-сокетов.
В статье на примере сервиса BookStore демонстрируются два подхода: прямое тестирование хендлеров с фейковым хранилищем и тестирование через bufconn. Второй подход незаменим для проверки интерсепторов, проброса дедлайнов и метаданных, а также корректной сериализации расширенных ошибок
01.04.2026
Похожее
09.07.2026
Джину уже 12 лет
Ману Мартинес-Алмейда рассказывает историю как он создавал Gin - одного из самых...
08.07.2026
zero-copy-оптимизации
Разбор zero-copy-оптимизаций в Go. Когда вы передаете `*os.File` напрямую `в...
07.07.2026
WAL-RUS
ClickHouse Cloud переписали утилиту для бэкапов и WAL-архивирования Postgres с G...
06.07.2026
Профилирование
Статья разбирает пять встроенных профилировщиков в Go (CPU, heap, block, mutex и...