作者: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开头会后执行。