新手,纯属个人理解,有问题可以给出建议奥~谢谢。

 

 

如以下代码,每一个test的类都是一个测试方法而测试方法必须由test_xxx开头命名,非test开头可能会执行不到,执行顺序如test1,test2,test3这样的类名会是按照排列顺序执行测试用例;

再看下面代码,第一个类引用的是unittest.TestCase,而再往下的测试方法是交由my_test这个类去执行;

import unittest

class my_test(unittest.TestCase):
    def setUp(self):
        print("Test start")

    def tearDown(self):
        print("test end")

class test3(my_test):
    def test3(self):
        print("a")

class test2(my_test):
    def test2(self):
        print("b")

class test1(my_test):
    def test1(self):
        print("c")

class test4(my_test):
    def test4(self):
        print("d")

if __name__ == "__main__":
    unittest.main()

以下代码执行结果:

Test start
c
test end

Test start
b
test end

Test start
a
test end

Test start
d
test end

可见输出结果为:C B A D正好对应我们的测试方法 test3  test2 test1 test4.

 

注:test方法类名必须在test后加入数字或字母进行排序,否则main函数会随机执行。