ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] 前言 很多初学者在使用unittest框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行。 本篇通过最简单案例详细讲解unittest执行顺序。 <br /> ## 一、案例分析 1. 先定义一个测试类,里面写几个简单的case ``` import unittest from time import sleep class Test(unittest.TestCase): def setUp(self): print("start!") def tearDown(self): sleep(3) print("end!") def test01(self): print("执行测试用例01") def test03(self): print("执行测试用例03") def test02(self): print("执行测试用例02") def addtest(self): print("add方法") if __name__ == "__main__": unittest.main() ``` <br /> ## 二、执行结果 ``` G:\py\selenium\selenium3\unittest1 start! 执行测试用例01 end! start! 执行测试用例02 end! start! 执行测试用例03 Ran 3 tests in 9.004s OK ``` <br /> ## 三、结果分析 1. 执行顺序: ``` start!-执行测试用例01-end! start!-执行测试用例02-end! start!-执行测试用例03-end! ``` 2. 从执行结果可以看出几点 ``` --先执行的前置setUp,然后执行的用例(test*),最后执行的后置tearDown --测试用例(test*)的执行顺序是根据01-02-03执行的,也就是说根据用例名称来顺序执行的 --addtest(self)这个方法没执行,说明只执行test开头的用例 ```