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

Что такое Mock в тестировании

Mock (или mock-объект) — это специальный объект, имитирующий поведение реального объекта в тестах. Он используется для замены зависимостей, чтобы изолировать тестируемый код и контролировать его окружение.

Основные цели Mock:

  • Замена сложных или медленных зависимостей (например, API, БД)
  • Проверка вызовов методов с нужными аргументами
  • Контроль возвращаемых значений или исключений

Пример с unittest.mock:

python
from unittest.mock import Mock

# Создаем mock-объект
mock_db = Mock()

# Задаем возвращаемое значение
mock_db.get_user.return_value = {"id": 1, "name": "Alice"}

# Имитируем вызов метода
user = mock_db.get_user(1)
print(user)  # {'id': 1, 'name': 'Alice'}

# Проверяем, был ли вызван метод
mock_db.get_user.assert_called_once_with(1)

Когда использовать:

  • Для unit-тестов, чтобы избежать побочных эффектов
  • Для тестирования взаимодействия между компонентами
  • Для симуляции ошибок (например, mock_db.get_user.side_effect = Exception("DB error"))

Mock часто путают с stub или spy, но он дает больше возможностей для проверки поведения.

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

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

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

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