Вера Ланская · лид QA, #qa-antrakt
Тест возвратов Глеба падает раз в день, и по отчёту не понять, кто виноват: сеть, стенд или наш расчёт. Открыла функцию, а там
data,res,flag, и всё печатается в консоль. Автотесты это код, плохой код тестов гниёт быстрее кода продукта. Сделай так, чтобы расчёт возврата проверялся без сети.
В прошлом уроке ты научился делать функцию понятной снаружи: умолчания, имена аргументов. Сегодня заглянем внутрь. Разберём, почему одни функции проверяются одной строкой, а другие не проверяются вовсе, и как назвать переменные, чтобы через месяц не гадать, что в них лежит. Это главный урок блока: дальше каждый тест и хелпер ты будешь писать по этим правилам.
Повар не бегает на рынок
Представь кухню ресторана. Повар готовит из того, что лежит на столе: продукты пришли утром, повар режет, жарит и выкладывает блюдо. Если в разгар смены у него кончился лук, и он сам бежит на рынок, ужин начинает зависеть от пробок, от погоды и от того, открыт ли рынок.
Хорошая кухня делит работу. Закупщик ходит на рынок, это непредсказуемо и медленно. Повар готовит из того, что ему дали, и это предсказуемо: те же продукты, тот же рецепт, то же блюдо. Проверить повара легко: положи перед ним продукты и попробуй результат. Проверить «повара, который сам ходит на рынок» можно только вместе с рынком.
С функциями так же. Одни только считают, другие ходят «на рынок»: в сеть, в файлы, в консоль.
урок из курса
Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.