欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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实例;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。