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

Как часто используешь mock в тестах

Mock-объекты в Python (через unittest.mock) использую регулярно, когда нужно:

  1. Изолировать тесты от внешних зависимостей (API, БД, файловая система).
  2. Эмулировать сложное поведение (исключения, задержки).
  3. Проверять вызовы (например, был ли вызван метод с нужными аргументами).

Пример:

python
from unittest.mock import Mock

# Создаем mock-объект для API
api_mock = Mock()
api_mock.get_data.return_value = {"status": "success"}

# Тестируем функцию, использующую API
def process_data(api):
    data = api.get_data()
    return data["status"]

assert process_data(api_mock) == "success"
api_mock.get_data.assert_called_once()  # Проверка вызова

Когда не стоит mock-ить:

  • Если зависимость простая и быстрая (например, чистые функции).
  • Если тест становится хрупким из-за излишней детализации (assert_called_with на каждый чих).

Использую по принципу: "Мокать только то, что мешает тестам быть быстрыми и стабильными".

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

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

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

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