我想为我的所有测试设置一个补丁,我为此使用patch
。
即:
def setUp(self):
self.patcher = patch('src.FetchFunction.caching.get_dynamo')
self.addCleanup(self.patcher.stop)
self.mock_foo = self.patcher.start()
现在src.FetchFunction.caching.get_dynamo
是我要修补的模块的路径。
但是在过去使用此模块的地方,我想在测试中打补丁,我做了:
patch('path.to.tested.module.get_dynamo')
现在,如果我做第一个示例,我的get_dynamo
未打补丁
但是,如果我复制与相同示例相同的路径,则会修补get_dynamo
。
但是,这意味着我需要为代码中的get_dynamo
的每次使用打补丁。
我的意思是如果我从file1
使用它,
patch('path.to.file1.get_dynamo')
如果我想在file2
处打补丁,
patch('path.to.file2.get_dynamo')
有什么想法如何正确设置?
谢谢