在所有测试上使用python补丁

时间:2018-10-22 12:52:06

标签: python unit-testing mocking patch

我想为我的所有测试设置一个补丁,我为此使用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')

有什么想法如何正确设置?

谢谢

0 个答案:

没有答案