在《单元测试unittest:执行测试用例》中,我们发现 testclass.py
文件的运行结果中4个测试用例执行的顺序为 test_first
、 test_second
、 test_fourth
、 test_third
。该顺序和测试用例的摆放顺序并不相同,因为测试用例执行的顺序依照的是方法和函数名的ASCII值排序。 testclass.py
文件中包含两个类,分别是 MyTestClassOne
和 MyTestClassTwo
,前11个字符 test_
相同,从第12个字符开始不同, O
排在 T前面
,因此 MyTestClassOne
类先执行。 MyTestClassOne
类中有两个测试用例,用例名分别是 test_first
和 test_second
,按ASCII值来排序的话 test_first
比 test_second
先执行,同理 test_fourth
比 test_third
先执行。
如果想让测试用例按照某种顺序来执行,我们可以 将用例按顺序添加到集合或者 调整测试用例名称:
import unittest
from learning_unittest import testclass
if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(testclass.MyTestClassOne('test_first'))
suite.addTest(testclass.MyTestClassOne('test_second'))
suite.addTest(testclass.MyTestClassTwo('test_third'))
suite.addTest(testclass.MyTestClassTwo('test_fourth'))
unittest.TextTestRunner().run(suite)
</code></pre>
<p>我们按照 <code>test_first</code>、 <code>test_second</code>、 <code>test_third</code>、 <code>test_fourth</code>的顺序把测试用例组装成测试集合,然后再执行这个测试集合,运行结果如下。</p>
<p>
setUpClass
setUp
test_first
tearDown
setUp
test_second
tearDown
tearDownClass
setUpClass
setUp
test_third
tearDown
setUp
test_fourth
tearDown
tearDownClass
....
Original: https://blog.csdn.net/hy592070616/article/details/125153473
Author: von Neumann
Title: 系统学习Python——单元测试unittest:用例执行次序
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/773986/
转载文章受原作者版权保护。转载请注明原作者出处!