【发布时间】:2017-02-14 04:33:25
【问题描述】:
当我尝试使用 setUpClass 方法时,会出现以下代码中不存在 _cleanups 属性的错误
@classmethod
def setUpClass(self):
self.argv = ['installation_tool.py']
argv_patcher = patch.object(sys, 'argv', self.argv)
self.addCleanup(self, argv_patcher.stop)
self.argv_mock = argv_patcher.start()
self.all_bears = get_all_bears_names_from_PyPI()
但是,当我使用 setUp 方法时,它工作得很好,我可以在其他方法中添加 self.argv += [asd, asda, asd] 之类的参数。
def setUp(self):
self.argv = ['installation_tool.py']
argv_patcher = patch.object(sys, 'argv', self.argv)
self.addCleanup(argv_patcher.stop)
self.argv_mock = argv_patcher.start()
self.all_bears = get_all_bears_names_from_PyPI()
我正在尝试在这里测试 Main 函数,所以我需要进行模拟。我还能如何测试 main 函数?
我如何使用 setUpClass 来执行此操作,因为我需要将 setUp 方法用于其他方法,因为它们有自己的启动调用?
【问题讨论】:
标签: python python-3.x unit-testing mocking python-unittest