![](/img/trans.png)
[英]How to replace a method with an arbitrary function inside test function (not using patch.object)?
[英]Unable to patch object inside function
我是 Python 新手。 我想为以下函数编写单元测试:
from common.ds_factory import DSFactory
class MyClass:
def load(self, parsed_file_key):
ds = DSFactory.getDS()
...
现在我无法使用@patch(my_class.DSFactory)
模拟DSFactory
因为我在函数内部使用DSFactory
。
您需要为使用它的模块修补DSFactory
。 如评论中所述,假设MyClass
在文件my_module.py
定义,您可以使用模块名称对其进行修补: @patch("my_module.DSFactory")
。
有一个问题 - 您的模块必须是可导入的,因此它需要您创建模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.