Макет объекта в методе, который не является параметром в Python

(Я новичок в питоне)

Я смотрел на: макетирование объектов и методов

И мне было интересно, могу ли я заменить объект в методе python, который не передается в качестве параметра, скажем, мой метод выглядит следующим образом:

def mypymethod(param1)
  myresult = os.path.something
  return myresult

и я хочу проверить mypymethod, однако я хочу, чтобы os.path в этом случае возвращал "yourmockresult", когда я вызываю его из моего метода тестирования

в любом случае я могу сделать это? Спасибо!!

1 ответ

Решение

Вы должны использовать модуль Mock Майкла Фурда для того же.

Из документации:

>>> from mock import Mock
>>> real = ProductionClass()
>>> real.method = Mock(return_value=3)
>>> real.method(3, 4, 5, key='value')
3
>>> real.method.assert_called_with(3, 4, 5, key='value')
Другие вопросы по тегам