Оля · DevOps, #qa-antrakt
Ночной прогон идёт 41 минуту, из них 10 минут один тест просто спит:
test_hold_expiresГлеба ждёт, пока истечёт бронь. А соседнийtest_hold_expires_todayраз в неделю красный, и всегда после 23:50. Перезапускаю, зеленеет. Можно что-то сделать до «Ночи продаж»? Минуты CI не бесплатные, и я устала нажимать «перезапустить».
В прошлом уроке часы, почта и генератор id стали параметрами, и тест передавал в код свои. Так получается, когда код твой и его можно поменять. Сегодня разберём случай труднее: код берёт время сам, и трогать его нельзя. И второго гостя из того же семейства, случайность.
Репетиция с перемоткой
На генеральной репетиции режиссёр не ждёт вечера, чтобы проверить финал. Он говорит: «Сейчас 22:50, до конца спектакля десять минут», и рабочий сцены переводит стрелки на часах в декорации. Актёры играют финал в два часа дня, и никто не сидит восемь часов в гримёрке.
Тест с поддельными часами устроен так же. Код спрашивает «который час?», а отвечает ему не настоящая система, а тест. Захотел десять минут вперёд, перевёл стрелки, и десять минут прошли мгновенно.
урок из курса
Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.