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

Типы: подписи, которые проверяет машина

junior~20 мин

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

Тимур · бэкенд, #api-antrakt

Выкатил API v2 на стенд. В GET /orders поле order_id теперь id, а total_price в рублях теперь total в копейках, как у нас везде. Ваши тесты, наверное, чуть покраснеют, но вы же поправите? Где у вас старые имена, я не знаю.

Половина набора упала с KeyError: 'total_price' в Python и NaN вместо суммы в JavaScript. Поиск по слову total_price находит девять мест, но не находит те, где имя поля собирается из кусков строки. Как узнать все места, которые сломал Тимур, не запуская каждый тест? В этом уроке научим машину делать это за тебя.

Подписи на коробках

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

Код устроен так же. В переменной лежит число, строка, список заказов. Ты знаешь это, пока держишь функцию в голове. Через месяц, или после Глеба, не знает никто, пока не откроет коробку, то есть не запустит код.

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

урок из курса

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

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