Pull to refresh
5
1
Степан Романьков@insect

User

Send message

Зачем тестовому фреймворку 17 функций?

Level of difficultyEasy
Reading time5 min
Reach and readers3.9K

Если посчитать публичный API Ginkgo, получается внушительный список. Describe, Context, When, It, Specify, By, BeforeEach, AfterEach, BeforeAll, AfterAll, JustBeforeEach, JustAfterEach, BeforeSuite, AfterSuite, SynchronizedBeforeSuite, SynchronizedAfterSuite, DeferCleanup. Семнадцать функций, и это без F- и P-вариантов для focus и pending.

GoConvey проще, но и у него набирается не меньше: Convey, So, ShouldEqual, SkipConvey, FocusConvey, Reset и собственный DSL для assertion-ов.

Какой минимальный API нужен scoped-фреймворку для тестирования?

Читать далее

Тестирование Telegram-ботов в CI/CD: токены не нужны

Level of difficultyMedium
Reading time8 min
Reach and readers6.2K

Типичная настройка CI для Telegram-бота: в секретах лежит токен, тесты ходят в реальный API, пайплайн занимает 10-15 минут и периодически падает на ровном месте. Таймауты, rate limits, протухший токен, который забыли обновить. Знакомая ситуация.

В этой статье разберём, как настроить CI/CD для Telegram-бота так, чтобы не нужны были ни токены, ни сеть, ни повторные запуски упавших тестов.

Читать далее

С 5 минут до 15 секунд: параллельные тесты с базой данных для Telegram-ботов

Level of difficultyMedium
Reading time9 min
Reach and readers6.2K

Тесты выполняются 5 минут. Вы вносите маленькое изменение, запускаете cargo test и ждёте. Проверяете телефон. Всё ещё ждёте. К моменту, когда тесты заканчиваются, вы уже забыли, над чем работали.

Читать далее

Почему ваши тесты для Telegram-ботов работают неправильно (и как это исправить)

Level of difficultyMedium
Reading time10 min
Reach and readers8.6K

15-20 минут на ручное тестирование. После каждого коммита. 47 состояний диалога. Бесконечные «а этот edge case я проверил?». Flaky тесты с реальным API. Rate limits от Telegram. Проблема не в коде - проблема в том, как вы его тестируете. Ручное тыканье в Telegram не масштабируется. Тесты с реальным API - медленные и flaky. Свои моки писать - неделя работы. Я нашёл способ лучше: 50 интеграционных тестов за 2 секунды. Без сети. Без токенов.

50 интеграционных тестов за 2 секунды

Information

Rating
1,732-nd
Location
Hessen, Германия
Registered
Activity