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