python: указать возвращаемое значение атрибута смоделированного модуля - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть модуль ex, который имеет несколько атрибутов, и другой модуль, который использует эти атрибуты, такие как

import ex
def use_ex(attr):
    z = getattr(ex,attr)
    #Do something with z

В моем тестовом файле я высмеиваю ex, поскольку не могу импортировать его в тестовой среде.

sys.modules['ex'] = Mock()

Как указать значение return_value ex.attr при написании теста для use_ex?

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете указать ложные возвращаемые значения следующим образом:

return_value = whatyouwant
my_mock = Mock()
my_mock.return_value = return_value
sys.modules['ex'] = my_mock
...