Так когда всё-таки тест должен падать и что именно он должен проверять - реализацию или контракт/интерфейс класса?

Тест должен падать при нарушении наблюдаемого контракта, а не при любом внутреннем рефакторинге.

Короткий ответ

Что ответить на собеседовании

Тест должен падать при нарушении наблюдаемого контракта, а не при любом внутреннем рефакторинге.

Подробный разбор

Ответ с пояснениями

Тест должен падать при нарушении наблюдаемого контракта, а не при любом внутреннем рефакторинге.

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее