Как я могу издеваться над следующей функцией Python, используя MagicMock?

class C:
  def f():
    calls g

  def g():
    # Do something

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


person Abhishek Kumar    schedule 01.07.2018    source источник


Ответы (1)


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

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

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

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

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

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

person Kaan Ant    schedule 01.07.2018