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 05 Python
跟老齐学Python之永远强大的函数
Sep 14 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
django 修改server端口号的方法
May 14 Python
python爬取网页内容转换为PDF文件
Jul 28 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
pandas如何处理缺失值
Jul 31 Python
python全局变量引用与修改过程解析
Jan 07 Python
用Python生成HTML表格的方法示例
Mar 06 Python
基于python生成英文版词云图代码实例
May 16 Python
Python内置函数及功能简介汇总
Oct 13 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
php显示页码分页类的封装
2017/06/08 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
JS焦点图切换,上下翻转
2011/05/12 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
js 左右悬浮对联广告代码示例
2014/12/12 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
Python列表的切片实例讲解
2019/08/20 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
Cocopanda波兰:购买化妆品、护肤品、护发和香水
2020/05/25 全球购物
衰败城市英国官网:Urban Decay英国
2020/04/29 全球购物
超市中秋节促销方案
2014/03/21 职场文书
《云房子》教学反思
2014/04/20 职场文书
计算机毕业生求职信
2014/06/10 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
师德师风自查材料
2014/10/14 职场文书