08
WIKI
REPOSITORY / ScuroNeko/Laniakea
Wiki
猫
KNOWLEDGE
REPOSITORY
Page:
Testing Bots with Laniakea RU
Pages
AGENTS
Auto Generated Commands RU
Auto Generated Commands
Bot Lifecycle RU
Bot Lifecycle
Bot Options and Configuration RU
Bot Options and Configuration
Commands and Plugins RU
Commands and Plugins
Drafts RU
Drafts
Error Handling RU
Error Handling
Framework Backlog RU
Framework Backlog
Getting Started RU
Getting Started
Home RU
Home
Inline Keyboards and Payloads RU
Inline Keyboards and Payloads
Localization RU
Localization
Logging RU
Logging
MessageContext RU
MessageContext
Middleware RU
Middleware
Migration RU
Migration
Policies RU
Policies
Rate Limiting RU
Rate Limiting
Recipes RU
Recipes
Rich Messages RU
Rich Messages
Runners RU
Runners
Scenes RU
Scenes
Semver and Releases RU
Semver and Releases
Sentry Integration RU
Sentry Integration
Testing Bots with Laniakea RU
Testing Bots with Laniakea
Update Routing Model RU
Update Routing Model
V2 Migration Plan RU
V2 Migration Plan
Webhook Runtime RU
Webhook Runtime
tgapi Overview RU
tgapi Overview
Clone
3
Testing Bots with Laniakea RU
ScuroNeko edited this page 2026-05-20 13:19:27 +03:00
Testing Bots with Laniakea RU
English version: Testing-Bots-with-Laniakea
Это краткая русскоязычная версия страницы про тестирование. Полная и наиболее актуальная страница: Testing-Bots-with-Laniakea.
Почему библиотеку удобно тестировать
Laniakea хорошо тестируется обычными Go unit tests.
В репозитории уже используются паттерны вроде:
- fake HTTP transport для
tgapi; - прямые тесты для вспомогательных методов
MessageContext; - routing tests для commands и payloads;
- runner tests.
Что стоит тестировать в первую очередь
- public handler flows;
- валидацию аргументов;
- callbacks и декодирование данных callback;
- поведение middleware;
- длинные ответы;
- семантику запуска и остановки;
- регрессии, чувствительные к миграции.
Тесты для tgapi
Для низкоуровневого API удобно подменять http.Client transport и проверять:
- тело запроса;
- имя метода;
- разбор ответа;
- поведение retry и ошибок.
Тесты для логики обработчиков
Для тестов уровня обработчика обычно полезно:
- собрать
MessageContext; - вызвать обработчик напрямую;
- проверить побочные эффекты и ответы.
Тесты для routing
Отдельно полезно тестировать:
- сопоставление команд;
- сопоставление данных callback;
- порядок middleware;
- изоляцию контекста между цепочками плагинов.
Тесты для фоновых задач
Для фоновых задач важно проверить:
- какие режимы реально запускаются;
- какие конфигурации скипаются;
- как ведет себя остановка.
Практические советы
- Предпочитай table-driven tests там, где много сценариев.
- Добавляй regression tests на найденные ошибки.
- Не ограничивайся только успешным сценарием.
Что читать дальше
Navigation
Start here
Runtime and Architecture
- Bot-Lifecycle
- Webhook-Runtime
- Middleware
- Runners
- Error-Handling
- Logging
- Update-Routing-Model
- Policies
- Scenes
Interaction and Telegram API
- Inline-Keyboards-and-Payloads
- Auto-Generated-Commands
- Drafts
- Rich-Messages
- Localization
- Rate-Limiting
- tgapi-Overview