Интерфейс позволяет заменить внешнюю зависимость в unit-тесте на управляемую реализацию. Так бизнес-логика проверяется без реальной сети, БД или платного сервиса.
Как интерфейсы помогают в тестировании (unit-тесты)?
Интерфейс позволяет заменить внешнюю зависимость в unit-тесте на управляемую реализацию. Так бизнес-логика проверяется без реальной сети, БД или платного сервиса.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Интерфейс позволяет заменить внешнюю зависимость в unit-тесте на управляемую реализацию. Так бизнес-логика проверяется без реальной сети, БД или платного сервиса.
Например, сервис зависит от метода Load, а тестовый fake возвращает данные или заданную ошибку. Интерфейс лучше делать узким, по потребности вызывающего кода. Не требуется подменять каждую внутреннюю структуру: избыточные mocks делают тесты хрупкими.