Python 中的 unit test 流程

来源:互联网 发布:西安监测数据造假 编辑:程序博客网 时间:2024/04/29 05:38

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_functionimport unittestdef 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")


这个程序的运行结果:

setUpModulesetUpClass++++ setup++++ test case 1++++ tearDown++++ my_cleanup++++ setup++++ test case 2++++ tearDown++++ my_cleanuptearDownClasstearDownModule



1 0