python中unittest的测试用例执行顺序

作者:xinyuanjing123 
来源:CSDN 
原文:https://blog.csdn.net/xinyuanjing123/article/details/80793651 
版权声明:本文为博主原创文章,转载请附上博文链接!

利用python的unittest框架批量执行case的加载方式有2种:
  1.通过unittest.main()来启动所需测试的测试模块;
  2.添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是所需测试的用例;
方案大概为以下4种:
1、通过unittest.main()来执行测试用例的方式:

if __name__ == "__main__":
     unittest.main()
2、通过testsuit来执行测试用例的方式:

if __name__ == "__main__":
     # 构造测试集
     suite = unittest.TestSuite()
     suite.addTest(TestCase("testCreateFolder"))
     suite.addTest(TestCase("testDeleteFolder")) 
     # 执行测试
     runner = unittest.TextTestRunner()
     runner.run(suite)

3、通过testLoader 逐一添加测试脚本:

if __name__ == "__main__":
     #此用法可以同时测试多个类
     suite1 = unittest.TestLoader().loadTestsFromTestCase(TestCase1) 
     suite2 = unittest.TestLoader().loadTestsFromTestCase(TestCase2) 
     suite = unittest.TestSuite([suite1, suite2]) 
     unittest.TextTestRunner(verbosity=2).run(suite)

4、通过TestLoader 类中提供的discover():

import unittest

case_path="./test_case/"
suite=unittest.defaultTestLoader.discover(case_path,pattern="test_*.py")
if __name__=='__main__':
    runner=unittest.TextTestRunner()
    runner.run(suite)
然后我们已知unittest默认加载脚本的顺序是:根据ASCII码的顺序加载,数字与字母的顺序为:0-9,A-Z,a-z。所以以A开头的测试用例方法会优先执行,以a开头会后执行。

 

你可能感兴趣的:(Python)