Python: Продвинутое тестирование

Теория: Введение

Тесты – это большая тема со множеством нюансов. Одно дело тестировать чистые функции. Совсем другое – это тестировать приложение, в котором есть взаимодействие с базой данных, отправка запросов по сети, электронных писем, где используются таймеры и асинхронность. Даже тестирование ошибок обладает своими особенностями.

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

В этом курсе мы поговорим о том, как тестировать сложные ситуации с побочными эффектами, асинхронным кодом и таймерами. Мы рассмотрим такие темы:

  • Тестирование ошибок
  • Внешние данные и фикстуры
  • Организация тестовых данных
  • Изоляция побочных эффектов, стабы и инверсия зависимости
  • Моки и тестирование методом черного ящика

Рекомендуемые программы