Встречается на собеседованиях • сегодня

При каких условиях должны падать unit-тесты

Unit-тесты должны падать в следующих случаях:

  1. Логика кода изменилась, а тесты не обновлены - если поведение тестируемого кода изменилось, тесты должны явно требовать обновления.

  2. Найдены регрессии - когда новый код ломает существующую функциональность, что обнаруживают тесты.

  1. Тест выявляет баг - если тест написан для еще не исправленного бага (TDD подход), он должен падать до фикса.

  2. Тест стал хрупким - когда тест зависит от нестабильных факторов (время, рандом, порядок выполнения).

Пример хрупкого теста:

python
def test_get_current_time():
    assert get_current_time() == "10:00"  # зависит от системного времени
  1. Нарушены контракты/интерфейсы - если изменились входные/выходные параметры или типы.

  2. Тест устарел - когда тестируемый код удален или кардинально изменен.

Важно: тесты должны падать только по значимым причинам, а не из-за плохой изоляции или недетерминированности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

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

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы