Python 中的 unit test 流程
Python 中的 unit test 流程
看了看Python中的单元测试流程, 写了个测试代码来看整体的测试流程
总结如下
- 一个 test case 类应该派生自 unittest.TestCase
- 正常的的test case的调用顺序为
- 子类TestCase可以注册自己的清理函数(my_cleanup). 这个清理函数会在teardown之后被调用
def setUp(self): super(MyTestCase, self).setUp() self.addCleanup(self.my_cleanup)
- 单元测试函数名必须以"test_"开始
def test_case_1(self): print("++++ test case 1")
测试的源代码:
from __future__ import print_function import unittest def setUpModule(): print("setUpModule") def tearDownModule(): print("tearDownModule") class MyTestCase(unittest.TestCase): def setUp(self): super(MyTestCase, self).setUp() self.addCleanup(self.my_cleanup) print() print("++++ setup") def tearDown(self): super(MyTestCase, self).tearDown() print("++++ tearDown") raise Exception() def my_cleanup(self): print("++++ my_cleanup") def test_case_1(self): print("++++ test case 1") def test_case_2(self): print("++++ test case 2") @classmethod def setUpClass(cls): print("setUpClass") @classmethod def tearDownClass(cls): print() print("tearDownClass")
这个程序的运行结果:
setUpModule setUpClass ++++ setup ++++ test case 1 ++++ tearDown ++++ my_cleanup ++++ setup ++++ test case 2 ++++ tearDown ++++ my_cleanup tearDownClass tearDownModule
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。