Рассмотрим несколько причин, почему
— Контроль качества кода. Если вы не представляете, как протестировать тот или иной метод, то скорее всего метод написан плохо. Стоит провести рефакторинг, а потом вернуться к тестированию.
Этот тезис очень важен: плохой код всегда сложно тестировать.
— Внесение изменений в проект без опасений что-то сломать. Когда проект начинает увеличиваться, без тестов ваша судьба больше не в ваших руках. Вы не можете быть уверены, что с внесением изменений в проект, или внедрением нового функционала все будет работать так как раньше.
Когда к проекту есть тесты, вы можете запустить их и убедиться, что ваши изменения не ломают старый функционал и все работает как и раньше.
При разработке в команде значение это пункта сильно увеличивается.
— Документация. Тесты лучше документации! Документация может быть устаревшей. По тестам, которые успешно проходят, можно понять поведение программы, как различные функции отрабатывают на тех или иных входных данных.
— У проекта, к которому есть тесты фактор автобуса существенно ниже, чем у проекта без тестов.
— Крепкий сон. Если проект запущен в продакшн и кем-то используется, то вы будете спать крепче, если этот проект хорошо протестирован.
Хорошее руководство по написанию тестов с использованием библиотеки pytest:
Введение, Часть 1, Часть 2, Часть 3, Часть 4, Часть 5, Часть 6, Часть 7.
Для того чтобы начать тестировать свой код необязательно читать все приведенные статьи. Достаточно прочесть первые, а потом возвращаться к этому руководству с возникновением новых вопросов при написании тестов к своему коду.
Достоинством этого руководства является то, что в нем рассматриваются не тривиальные примеры, а тестирование полноценного приложения с рассмотрением ситуаций, часто встречающихся в реальной разработке.
#python