Встречается на собеседованиях • сегодня
Как писать функции, чтобы их было легко покрывать Unit тестами
Функции должны быть:
- Чистыми – результат зависит только от входных данных, нет побочных эффектов.
- Детерминированными – при одинаковых входных данных всегда одинаковый результат.
- Малыми – одна функция = одна ответственность.
- Изолированными – минимум зависимостей, внешние сервисы/состояния передаются через параметры или dependency injection.
Пример плохой функции:
python
def process_data():
data = read_from_db() # Зависит от БД
return data.upper()Пример тестируемой функции:
python
def process_data(data: str) -> str:
return data.upper()Как тестировать:
python
def test_process_data():
assert process_data("test") == "TEST"Используйте моки для внешних зависимостей (например, unittest.mock). Чем проще функция, тем проще её покрыть тестами.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы