Как настроить mock так, чтобы он возвращал разные значения при нескольких вызовах

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