Python基于unittest实现测试用例执行
程序员文章站
2022-07-06 09:20:26
利用python进行测试时,测试用例的加载方式有2种:一种是通过unittest.main()来启动所需测试的测试模块;一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里...
利用python进行测试时,测试用例的加载方式有2种:
一种是通过unittest.main()来启动所需测试的测试模块;
一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是所需测试的用例,下面分别列出3种方法的具体使用方式:
1、通过unittest.main()来执行测试用例的方式:
import unittest class uctestcase(unittest.testcase): def setup(self): #测试前需执行的操作 ..... def teardown(self): #测试用例执行完后所需执行的操作 ..... # 测试用例1 def testcreatefolder(self): #具体的测试脚本 ...... # 测试用例2 def testdeletefolder(self): #具体的测试脚本 ...... if __name__ == "__main__": unittest.main()
2、通过testsuit来执行测试用例的方式:
import unittest # 执行测试的类 class uctestcase(unittest.testcase): def setup(self): #测试前需执行的操作 ..... def teardown(self): #测试用例执行完后所需执行的操作 ..... # 测试用例1 def testcreatefolder(self): #具体的测试脚本 ...... # 测试用例2 def testdeletefolder(self): #具体的测试脚本 ...... if __name__ == "__main__": # 构造测试集 suite = unittest.testsuite() suite.addtest(uc7testcase("testcreatefolder")) suite.addtest(uc7testcase("testdeletefolder")) # 执行测试 runner = unittest.texttestrunner() runner.run(suite)
3、通过testloader方式:
import unittest class testcase1(unittest.testcase): #def setup(self): #def teardown(self): def testcase1(self): print 'aaa' def testcase2(self): print 'bbb' class testcase2(unittest.testcase): #def setup(self): #def teardown(self): def testcase1(self): print 'aaa1' def testcase2(self): print 'bbb1' if __name__ == "__main__": #此用法可以同时测试多个类 suite1 = unittest.testloader().loadtestsfromtestcase(testcase1) suite2 = unittest.testloader().loadtestsfromtestcase(testcase2) suite = unittest.testsuite([suite1, suite2]) unittest.texttestrunner(verbosity=2).run(suite)
下面针对上述脚本中应用到的unittest模块下的几个成员进行简单的介绍,以便于理解上述代码:
- testcase:所有测试用例的基本类,给一个测试方法的名字,就会返回一个测试用例实例;
- testsuit:组织测试用例的实例,支持测试用例的添加和删除,最终将传递给 testrunner进行测试执行;
- texttestrunner:进行测试用例执行的实例,其中text的意思是以文本形式显示测试结果。测试的结果会保存到texttestresult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息;
- testloader:用来加载testcase到testsuite中的,其中有几个 loadtestsfrom__()方法,就是从各个地方寻找testcase,创建它们的实例,然后add到testsuite中,再返回一个testsuite实例;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。