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使用Berkeley DB数据库实例
Sep 26 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
快速入手Python字符编码
Aug 03 Python
python实现log日志的示例代码
Apr 28 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
解决python对齐错误的方法
Jul 16 Python
为什么说python更适合树莓派编程
Jul 20 Python
python实现感知机模型的示例
Sep 30 Python
使用django自带的user做外键的方法
Nov 30 Python
python开发人人对战的五子棋小游戏
May 02 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防止跨域提交表单
2013/11/01 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
php微信公众平台交互与接口详解
2016/11/28 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
laravel实现按时间日期进行分组统计方法示例
2019/03/23 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
2014/04/23 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
python实现RSA加密(解密)算法
2016/02/17 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
Python实现网站表单提交和模板
2019/01/15 Python
Python pandas库中的isnull()详解
2019/12/26 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
python入门教程之基本算术运算符
2020/11/13 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
教师考核评语
2014/04/28 职场文书
会计工作态度自我评价
2015/03/06 职场文书
高中生军训感言
2015/08/01 职场文书
idea 在springboot中使用lombok插件的方法
2021/08/02 Java/Android