Раздел 43 · Автотестирование с нуля

Файлы, JSON, конфиг и переменные окружения

junior~20 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Оля · DevOps, #infra-antrakt

Запустила твой набор в CI на stage-2. Он полчаса стучался в localhost:8000 и упал по таймауту. У Глеба BASE_URL зашит в conftest.py, токен стенда там же, прямо в репозитории. Сделай, чтобы адрес и токен приходили из окружения, как у всех наших сервисов. И токен я поменяла, старый больше не работает.

Полчаса красного прогона и утёкший токен из-за двух строк в начале файла. Знакомая история: в письме ученика, с которого вырос этот курс, ровно такой же глобальный BASE_URL в conftest.py. В этом уроке разберём, как тесты читают файлы и JSON, что такое переменные окружения и как собрать настройки в одно место, чтобы набор без правок шёл и на ноутбуке, и на stage-2.

Гастрольный райдер

Группа едет в тур по десяти городам. Программа концерта одна: те же песни в том же порядке. Но в каждом городе свой зал, своё время начала и свой звукорежиссёр. Никто не вписывает адрес зала в текст песни. Адреса и время лежат в гастрольном расписании, и перед концертом группа заглядывает туда.

Набор тестов это программа концерта. Стенды (ноутбук, stage-2, ночной прогон в CI) это залы. Адрес стенда, токен и таймаут это расписание, и место ему снаружи кода. Глеб вписал адрес зала прямо в песню, поэтому на stage-2 его набор приехал не туда.

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.