Python基于unittest实现测试用例执行


Posted in Python onNovember 25, 2020

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

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

Python 相关文章推荐
python生成器的使用方法
Nov 21 Python
Python制作爬虫抓取美女图
Jan 20 Python
动感网页相册 python编写简单文件夹内图片浏览工具
Aug 17 Python
python分析作业提交情况
Nov 22 Python
浅谈Python中range和xrange的区别
Dec 20 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
如何使用Python 打印各种三角形
Jun 28 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
python Paramiko使用示例
Sep 21 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
python中 Flask Web 表单的使用方法
May 20 Python
python反爬虫方法的优缺点分析
Nov 25 #Python
Pytest测试框架基本使用方法详解
Nov 25 #Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 #Python
Python json解析库jsonpath原理及使用示例
Nov 25 #Python
搭建pypi私有仓库实现过程详解
Nov 25 #Python
Python代码覆盖率统计工具coverage.py用法详解
Nov 25 #Python
python 实时调取摄像头的示例代码
Nov 25 #Python
You might like
用PHP连mysql和oracle数据库性能比较
2006/10/09 PHP
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
thinkPHP自定义类实现方法详解
2016/11/30 PHP
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
AngularJs bootstrap详解及示例代码
2016/09/01 Javascript
基于Jquery Ajax type的4种类型(详解)
2017/08/02 jQuery
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python中模块的__all__属性详解
2017/10/26 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
python如何导入依赖包
2020/07/13 Python
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
internal修饰符起什么作用
2013/12/16 面试题
【魔兽争霸3重制版】原版画面与淬火MOD画面对比
2021/03/26 魔兽争霸
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
在校学生证明格式
2015/06/24 职场文书
安全生产奖惩制度
2015/08/06 职场文书
领导激励员工的演讲稿,各种会上用得到,建议收藏
2019/08/13 职场文书
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js