При каких условиях должны падать unit-тесты
Unit-тесты должны падать в следующих случаях:
-
Логика кода изменилась, а тесты не обновлены - если поведение тестируемого кода изменилось, тесты должны явно требовать обновления.
-
Найдены регрессии - когда новый код ломает существующую функциональность, что обнаруживают тесты.
-
Тест выявляет баг - если тест написан для еще не исправленного бага (TDD подход), он должен падать до фикса.
-
Тест стал хрупким - когда тест зависит от нестабильных факторов (время, рандом, порядок выполнения).
Пример хрупкого теста:
def test_get_current_time():
assert get_current_time() == "10:00" # зависит от системного времени-
Нарушены контракты/интерфейсы - если изменились входные/выходные параметры или типы.
-
Тест устарел - когда тестируемый код удален или кардинально изменен.
Важно: тесты должны падать только по значимым причинам, а не из-за плохой изоляции или недетерминированности.

офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру