Устал руками прогонять сценарии
Стал вопрос как писать e2e-тесты под Telegram. Юниты есть, аж 500 штук. Их недостаточно. Хочу написать смок-тесты на критичный функционал.
Кто-нибудь делал такое?
Я изучил вопрос. Есть 2 связки: 1. MTProto (gramjs) 2. Telegram Web + Playwright
В 1-м можно напрямую дёргать низкоуровневый API и фактически эмулировать поведение пользователя в боте, но без UI. Что-то среднее между интеграционным тестом и e2e.
Во 2-м прогонять тест через интерфейс эмулируя действия пользователя. Настоящий e2e.
И главный вопрос! Как запустить в CI?
1-й случай проще для 2-го потребуется контейнер с headless-браузером.
Ещё нужно будет: – поднять свой telegram-bot-api – контейнер с БД
Тогда получится схема как на картинке и отсутствие зависимости от внешних условий.
Вот сижу и думаю, а стоит ли оно того для бота такого уровня? 🤔 Просто устал ручками основные сценарии проверять.