Как я могу издеваться над следующей функцией Python, используя MagicMock? - PullRequest
0 голосов
/ 01 июля 2018
class C:
  def f():
    calls g

  def g():
    # Do something

Как я могу издеваться над g, чтобы проверить f в модуле тестирования, который импортирует класс C?

1 Ответ

0 голосов
/ 01 июля 2018

вы можете смоделировать эту функцию с использованием объекта пути, подобного этому;

with patch.object(C, 'g', MagicMock(return_value='something')):
    c.f()

таким образом, когда ваш код вызывает функцию g, он возвращает ложный ответ

Примечание: использовать следует импортировать патч перед его использованием

Подробную информацию можно найти по ссылке ниже:

https://docs.python.org/3/library/unittest.mock.html

...