Python 中的 unit test 流程


Python 中的 unit test 流程

看了看Python中的单元测试流程, 写了个测试代码来看整体的测试流程

总结如下

一个 test case 类应该派生自 unittest.TestCase正常的的test case的调用顺序为 \

<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KCtfTwOBUZXN0Q2FzZb/J0tTXorLh19S8urXEx+XA7bqvyv0obXlfY2xlYW51cCkuINXiuPbH5cDtuq/K/bvh1Np0ZWFyZG93btauuvOxu7X308MKPHByZSBjbGFzcz0="brush:java;"> 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



评论关闭