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

Что проверять в API: статус, тело, заголовки, схема, побочный эффект

middle~35 мин

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

На генеральной репетиции касса прошла покупку целиком без единого письма зрителю, и Вера сдержала слово: наследство Глеба теперь твоё. Это 41 тест на API, который гоняли каждую ночь и ни разу не видели красным. Савва в понедельник утром снова отвечал зрителям, на этот раз про «null ₽» и одиннадцать билетов, а табло в фойе по-прежнему показывает «четыре месяца» до «Ночи продаж». Если в ночь на 40 000 билетов API ответит неправду, этот набор опять будет зелёным.

Блок F это сердце курса. За двенадцать уроков ты возьмёшь tests_final_v2/ Глеба и превратишь кучу скриптов в фреймворк API-тестов: со слоями, конфигом, клиентами, моделями, данными и отчётом. Но архитектура бессмысленна, если сами тесты проверяют не то. Поэтому начнём не со структуры папок, а с вопроса, который Вера задала Тимуру: что тест API вообще должен утверждать.

Посылка у двери

Курьер звонит: «Доставлено». Это ещё не значит, что всё хорошо. Ты открываешь коробку и смотришь, то ли внутри. Читаешь накладную: тот ли адрес, та ли сумма. Проверяешь, что в коробке не кружка вместо телефона, а телефон, и в той же комплектации, что в описании. А магазин в это время должен списать телефон со склада, иначе завтра его продадут ещё раз.

Ответ API устроен так же. Статус это «доставлено». Тело это содержимое коробки. Заголовки это накладная. Схема это «телефон, а не кружка». Побочный эффект это склад. Тест Глеба слушал только курьера.

урок из курса

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

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