Встречается на собеседованиях • сегодня
Как настроить mock так, чтобы он возвращал разные значения при нескольких вызовах
Для настройки мока с разными возвращаемыми значениями при последовательных вызовах можно использовать side_effect. Это может быть список значений или функция, которая будет вызываться при каждом обращении к моку.
python
from unittest.mock import Mock
mock = Mock()
mock.side_effect = [10, 20, 30]
print(mock()) # 10
print(mock()) # 20
print(mock()) # 30Если нужна более сложная логика, можно передать функцию в side_effect:
python
def mock_behavior():
return some_dynamic_value
mock.side_effect = mock_behaviorПри исчерпании списка значений будет вызвано StopIteration. Для постоянного циклического поведения можно использовать itertools.cycle.

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