系统学习Python——单元测试unittest:测试固件(python接口unittest测试框架)

网友投稿 328 2022-08-30


系统学习Python——单元测试unittest:测试固件(python接口unittest测试框架)

在《单元测试unittest:框架结构》​中我们了解到​​unittest​​框架共包含4种测试固件。

​​setUp​​:在每个测试方法执行前执行,负责测试前的初始化工作。​​tearDown​​:在每个测试方法结束后执行,负责测试后的清理工作。​​setUpClass​​​:在所有测试方法执行前执行,负责单元测试前期准备。必须使用​​@classmethod​​​装饰器进行修饰,在​​setUp​​函数之前执行,整个测试过程只执行一次。​​tearDownClass​​​:在所有测试方法执行结束后执行,负责单元测试后期处理。必须使用​​@classmethod​​​装饰器进行修饰,在​​tearDown​​函数之后执行,整个测试过程只执行一次。

测试固件本身就是一个函数,和测试用例分别负责不同的工作。测试固件和测试用例更多的区别在于其在整个​​class​​中的执行次序和规律不同。接下来,我们通过一个示例来看一下上述4种测试固件执行的次序:

import unittestclass MyTestClass(unittest.TestCase): @classmethod def setUpClass(cls): print('setUpClass') def setUp(self): print('setUp') def test_first(self): print('first') self.assertEqual('hy592070616', 'hy592070616') def test_second(self): print('second') self.assertEqual('machinelearning', 'machinelearning') def tearDown(self): print('tearDown') @classmethod def tearDownClass(cls): print('tearDownClass')if __name__ == '__main__': unittest.main()

执行结果如下:

Ran 2 tests in 0.000sOKsetUpClasssetUpfirsttearDownsetUpsecondtearDowntearDownClassProcess finished with exit code 0

根据上述结果,我们可以看到这4种测试固件的执行顺序。首先执行​​setUpClass​​​,整个​​class​​​只执行一遍。其次执行​​setUp​​​,第一个测试用例调用,并执行第一个测试用例,接着执行​​tearDown​​​,第一个测试用例调用。然后执行​​setUp​​​,第二个测试用例调用,并执行第二个测试用例,接着执行​​tearDown​​​,第二个测试用例调用。最后执行​​tearDownClass​​​,整个​​class​​​只执行一遍。至此,整个​​class​​执行结束。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:系统学习Python——单元测试unittest:编写测试用例(python+selenium+unittest)
下一篇:python与matlab一些常用函数互转(matlab转成python)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~