新手,纯属个人理解,有问题可以给出建议奥~谢谢。
如以下代码,每一个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函数会随机执行。