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实现国外赌场热门游戏Craps(双骰子)
Mar 31 Python
简单的Python2.7编程初学经验总结
Apr 01 Python
理解Python中的With语句
Mar 18 Python
Python缩进和冒号详解
Jun 01 Python
Python制作刷网页流量工具
Apr 23 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
wxPython的安装与使用教程
Aug 31 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
Oct 11 Python
对python for 文件指定行读写操作详解
Dec 29 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
Jun 24 Python
python tqdm库的使用
Nov 30 Python
python实现简单石头剪刀布游戏
Oct 24 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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
PHP队列用法实例
2014/11/05 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
2017/10/06 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
javascript 折半查找字符在数组中的位置(有序列表)
2010/12/09 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
Bootstrap每天必学之级联下拉菜单
2016/03/27 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
微信小程序解除10个请求并发限制
2018/12/18 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
2019/05/31 jQuery
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
Python pickle模块用法实例分析
2015/05/27 Python
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
Python阶乘求和的代码详解
2020/02/14 Python
python_mask_array的用法
2020/02/18 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
车队司机自我鉴定
2014/03/02 职场文书
咖啡店创业计划书范文
2014/09/15 职场文书
前台接待岗位职责
2015/02/03 职场文书
预备党员半年考察意见
2015/06/01 职场文书
利用python进行数据加载
2021/06/20 Python
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
gojs实现蚂蚁线动画效果
2022/02/18 Javascript