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素数检测实例分析
Jun 15 Python
Python的Django框架安装全攻略
Jul 15 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
解决pyinstaller打包pyqt5的问题
Jan 08 Python
python中多个装饰器的调用顺序详解
Jul 16 Python
python实现图片压缩代码实例
Aug 12 Python
详谈tensorflow gfile文件的用法
Feb 05 Python
django admin后管定制-显示字段的实例
Mar 11 Python
keras K.function获取某层的输出操作
Jun 29 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
Oct 29 Python
python Scrapy爬虫框架的使用
Jan 21 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 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多线程抓取网页实现代码
2010/07/22 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
javascript实用方法总结
2015/02/06 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
浅谈flask源码之请求过程
2018/07/26 Python
python仿抖音表白神器
2019/04/08 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
基于python实现雪花算法过程详解
2019/11/16 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
优乐美广告词
2014/03/14 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
财产公证书样本
2014/04/04 职场文书
文明寝室申报材料
2014/05/12 职场文书
水污染治理工程专业自荐信
2014/06/21 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
2016年父亲节寄语
2015/12/04 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
总结python多进程multiprocessing的相关知识
2021/06/29 Python