Python unittest discover批量执行代码实例


Posted in Python onSeptember 08, 2020

代码如下

import unittest
dir = "D:\\work_doc\\pycharm2\\python_Basics"  #自动化用例所存放的路径
suit = unittest.defaultTestLoader.discover(dir,pattern="XFS*.py",top_level_dir=None)  #匹配出需要执行的py文件
runner = unittest.TextTestRunner()  #TextTestRunner类实例化,目的是为了调用TextTestRunner下的run()方法
runner.run(suit)  #调用TextTestRunner下的run()方法执行用例
import unittest
def run_all_cases(file_path,file):
  discover = unittest.defaultTestLoader.discover(file_path,pattern=file)
  return discover
if __name__ == '__main__':
  runner = unittest.TextTestRunner()
  runner.run(run_all_cases(
    "D:\work_doc\pycharm2\python_selenium",
    "test*.py"))

解释

1.discover方法加载测试用例

  • discover 加载到的用例是一个 list 集合,需要重新写入到一个 list 对象 testcase 里,这样就可以用 unittest 里面的 TextTestRunner 这里类的 run 方法去执行。
  • TestLoader 该类根据各种标准加载测试用例,并将它们返回给测试套件。正常情况下,不需要创建这个类的实例。unittest 提供了可以共享的 defaultTestLoader 类,可以使用其子类和方法创建实例,discover() 就是其中之一。

2.discover方法里面有三个参数

  • -case_dir:这个是待执行用例的目录。
  • -pattern:这个是匹配脚本名称的规则,test*.py 意思是匹配test开头的所有脚本。
  • -top_level_dir:这个是顶层目录的名称,一般默认等于 None 就行了。

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

Python 相关文章推荐
python抓取网页内容示例分享
Feb 24 Python
Python判断列表是否已排序的各种方法及其性能分析
Jun 20 Python
python 移除字符串尾部的数字方法
Jul 17 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
Django框架创建项目的方法入门教程
Nov 04 Python
python科学计算之scipy——optimize用法
Nov 25 Python
python线程池如何使用
May 28 Python
Python 合并拼接字符串的方法
Jul 28 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
Feb 22 Python
Python selenium实现断言3种方法解析
Sep 08 #Python
什么是Python包的循环导入
Sep 08 #Python
聊聊python中的循环遍历
Sep 07 #Python
详解python中的闭包
Sep 07 #Python
python logging模块的使用
Sep 07 #Python
了解一下python内建模块collections
Sep 07 #Python
Python pymsql模块的使用
Sep 07 #Python
You might like
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
js简单判断移动端系统的方法
2016/02/25 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
详解IWinter 一个路由转控制器的 Nodejs 库
2017/11/15 NodeJs
详解Vue单元测试Karma+Mocha学习笔记
2018/01/31 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
javascript数组的定义及操作实例
2019/11/10 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
Python的Django框架安装全攻略
2015/07/15 Python
python根据京东商品url获取产品价格
2015/08/09 Python
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
10条PHP编程习惯
2014/05/26 面试题
最新的互联网创业计划书
2014/01/10 职场文书
年终考核实施方案
2014/05/26 职场文书
班子四风对照检查材料
2014/08/21 职场文书
银行招聘自荐信
2015/03/06 职场文书
遗失证明范文
2015/06/19 职场文书
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技