如何用Python中的模拟对象替换对函数的所有引用?在
我正在为一个Fabric脚本编写一些单元测试。具体地说,我想用记录命令而不是执行的模拟版本替换fabric.api.run
。但是,我希望这样做,这样就不必重写所有引用fabric的代码。在
我试过:
import fabric.api
_run = fabric.api.run
fabric.api.run = my_mock_run_function
但因为我不能保证它会在其他模块导入之前运行织物.api,很多代码仍然使用real run
函数。在
Tags:
使用^{}
如果您的代码使用:
您必须修补模块具有的run函数的本地引用:
^{pr2}$如果您的代码使用:
^{3}$您将能够修补原始副本:
见this nice explanation。在
相关问题 更多 >
编程相关推荐