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

Функции

junior~15 мин

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

Вера Ланская · лид QA, #qa-antrakt

В тестах Глеба заказ создают так: make_order("white-nights", 1, "standard", 350000, None, "new"). Сорок раз, и в каждом тесте поменяно одно поле из шести. Какое именно, не видно без лупы. И ещё: тесты корзины проходят по одному, а вместе краснеют. Разберёшься?

Две жалобы Веры про одно и то же: как устроены функции. В прошлом уроке ты уже завернул подсчёт выручки в функцию. Сегодня разберём, как функция принимает данные, как отдаёт результат и как сделать её вызов понятным с первого взгляда. А заодно найдём ловушку, из-за которой корзина Глеба помнит чужие места.

Кофе «как обычно»

Ты заказываешь капучино. Бариста не спрашивает, какой объём, какое молоко, сколько сахара и в какой стакан. У кофейни есть «как обычно»: средний, на обычном молоке, без сахара, в бумажном стакане. Ты называешь только то, что хочешь иначе: «капучино, большой, на овсяном».

Теперь представь кофейню, где «как обычно» нет. Каждый гость перечисляет пять пунктов подряд: «капучино, средний, обычное, ноль, бумажный». Очередь стоит, бариста путает, где объём, а где сахар. Так выглядят тесты Глеба.

Функция устроена как заказ в такой кофейне: у неё есть входы, и у входов бывает «как обычно».

урок из курса

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

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