Тесты не лгут — прислушивайтесь к ним: часть 2

(Статья — результат совместной работы с Максимом Степановым)

В прошлой статье мы показали, как тесты помогают найти изъяны в архитектуре. Для этого мы попытались протестировать скрипт на Python, проверяющий погоду. Нам пришлось разбить его на несколько функций в зависимости от зон ответственности, и это позволило написать несколько тестов. Но у них были существенные недостатки:

- Хрупкость

- Зависимость от внешних систем

- Невозможность протестировать пользовательский сценарий в отдельности

- Избыточное покрытие.

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

Читать далее
5