Я хочу протестировать модуль A
, который использует декораторы с аргументами. Аргументы оцениваются при загрузке модуля A
. Для некоторых аргументов декоратора я устанавливаю значение, вызывая функцию foo
в модуле B
.
# A.py
import B
@deco(arg1=B.foo())
def bar():
...
Когда я хочу протестировать A
, я хочу имитировать B.foo
, поэтому что аргумент декоратора установлен для моих тестовых случаев. Я думаю, что B.foo
нужно высмеивать перед тем, как A
загружает B
.
В модульном тесте, как вызывающий A
, как мне издеваться над B.foo
, чтобы убедиться, что издеваемая версия используется при оценке аргументов декоратора в A
?