我想测试一个A
使用带参数的装饰器的模块。A
加载模块时对参数进行评估。对于一些装饰器参数,我通过调用foo
module 中的函数来设置值B
。
# A.py
import B
@deco(arg1=B.foo())
def bar():
...
当我想测试A
时,我想模拟B.foo
以便为我的测试用例设置装饰器参数。我认为这B.foo
必须在A
加载之前被嘲笑B
。
在单元测试中,作为 的调用者A
,我如何模拟B.foo
以确保在评估装饰器参数时使用模拟版本A
?