Проверяет понимание роли модульного тестирования в разработке.
Юнит-тесты:
Ловят баги на раннем этапе.
Упрощают рефакторинг: Проверяют, что изменения ничего не сломали.
Документируют код: Показывают, как использовать функции.
Экономят время: Автоматическая проверка вместо ручного тестирования.
Преимущества юнит-тестов:
Раннее обнаружение ошибок:
Тест на функцию расчёта скидки:
def test_discount():
assert calculate_discount(100, 10) == 90 # 10% скидка
assert calculate_discount(0, 10) == 0 # Крайний случайБезопасный рефакторинг:
Можно менять код, не боясь сломать существующую логику.
Тесты запускаются автоматически в CI/CD.
Улучшение дизайна кода:
Написание тестов заставляет делать код модульным и понятным.
Пример как документация:
Тест показывает, что функция calculate_discount ожидает сумму и процент.
Когда писать:
Для сложной бизнес-логики.
Для критически важных компонентов (платёжные системы).
Вывод:
Юнит-тесты — обязательная практика для профессиональной разработки.