Как смоделировать / исправить функцию без возвращаемого значения, которое изменяет значения параметров? - PullRequest
1 голос
/ 09 мая 2019

скажи, что у меня есть функция

def change_dict_value(abc):
  # doing a lot of calculations here
  # and finally generate a new dictionary efg
  abc.update(efg)

Как мне смоделировать / пропатчить функцию, чтобы установить возвращаемое значение abc после обработки в change_dict_value?

1 Ответ

2 голосов
/ 09 мая 2019

Вы можете использовать параметр side-effect .

def mock_change_dict_value(abc):
    # Change abc
    abc.update(efg)

Тогда вы можете использовать его так:

>>> mock = Mock()
>>> mock.side_effect = mock_change_dict_value
>>> mock()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...