Unit-тесты
Суть
Unit-тест проверяет одну единицу поведения (функцию, тип, небольшой модуль) в изоляции от внешнего мира: без сети, базы, UI и таймеров. Зависимости подменяются тестовыми двойниками через протоколы. Цель — быстро и детерминированно узнать, что изменение кода не сломало ожидаемое поведение. Тестируют поведение через публичный контракт, а не каждый метод подряд: тесты на реализацию ломаются при любом рефакторинге.
Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.
Полный ответ — в DevPrep