Встречается на собеседованиях • сегодня
В чём разница между mock и magic mock в тестировании
Mock и MagicMock — это инструменты из модуля unittest.mock для создания заглушек в тестах.
- Mock — базовая заглушка, которая заменяет объект и позволяет проверять вызовы методов. Не поддерживает магические методы (например,
__len__,__iter__).
python
from unittest.mock import Mock
mock = Mock()
mock.some_method() # Работает
len(mock) # TypeError: object of type 'Mock' has no len()- MagicMock — наследник
Mock, автоматически поддерживает магические методы.
python
from unittest.mock import MagicMock
magic_mock = MagicMock()
magic_mock.__len__.return_value = 5 # Можно задать поведение
len(magic_mock) # 5Когда использовать:
Mock— если не нужны магические методы.MagicMock— если требуется эмуляция контейнеров, строк или других объектов с перегрузкой операторов.

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