Python Unittest模拟主函数

2024-10-01 04:48:26 发布

您现在位置:Python中文网/ 问答频道 /正文

当我尝试使用setUpClass方法时,它会给出一个错误,即在下面的代码中不存在\u 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()

我可以使用参数,但是我可以添加参数自身argv+=[asd,asda,asd]在其他方法中。在

^{pr2}$

我试图在这里测试主函数,所以我需要mocking来完成。我怎样才能测试主函数?在

我如何使用setUpClass来实现这一点,因为我需要对其他方法使用setUp方法,因为它们有自己的启动调用?在


Tags: 方法函数代码self参数属性错误all
1条回答
网友
1楼 · 发布于 2024-10-01 04:48:26

你要传递给'self'而不是'self'的类。不能在类中使用self方法。如果您需要使用setUp(instance method)som,那么您可以在不同的测试用例中分离测试(因为每个测试用例都可以有自己的设置方法),并使用您编写的设置运行测试,这是正确的。setUpClass也是如此。你可能需要在不同的情况下定义不同的测试方法。在

相关问题 更多 >