Skip to main content
 首页 » 编程设计

python之如何将对象传递给单元测试类

2025年05月04日8JustinYoung

目前我在 python unittest 中使用标准形式的测试类。例如:

import unittest, myTestSystem 
class MyTestPackage(unittest.TestCase): 
 
    @classmethod 
    def setUpClass(cls): 
        cls.sut = myTestSystem.Setup() 
        cls.sut.connect(<IP>, <PORT>) 
 
    @classmethod 
    def tearDownClass(cls): 
        cls.sut.disconnect() 
        del cls.sut 
 
    def test1(self): 
        ret = dosomestuff() 
        self.assertEqual(ret, 0) 
 
if __name__ == "__main__": 
    unittest.main() 

但是,我有几个这样的测试套件,因为它包含大量测试。将所有内容都放在一个 TestClass 中并不是很好。问题是,对于测试套件的每次启动,我都会将我连接到我的被测系统(sut),运行我的测试并稍后再次断开连接。 我的问题是,如果之前可以进行一般设置,则将 sut 对象转发到我的测试类并使用此 sut 对象运行这些测试。 (并在运行所有测试后关闭连接)

请您参考如下方法:

看看py.test它包含一些很好的扩展来进行包级测试设置。