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运行时间的几种方法
Jun 17 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
Jul 11 Python
python模仿网页版微信发送消息功能
Feb 24 Python
浅析python继承与多重继承
Sep 13 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
利用Pytorch实现简单的线性回归算法
Jan 15 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
Aug 27 Python
python操作toml文件的示例代码
Nov 27 Python
Python数据分析入门之数据读取与存储
May 13 Python
Python echarts实现数据可视化实例详解
Mar 03 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
php 实现Hash表功能实例详解
2016/11/29 PHP
php 如何禁用eval() 函数实例详解
2016/12/01 PHP
基于PHP实现用户在线状态检测
2020/11/10 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
浅谈jquery事件处理
2015/04/24 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
关于JavaScript数组你所不知道的3件事
2016/08/24 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
简介Python中用于处理字符串的center()方法
2015/05/18 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
python 字段拆分详解
2019/12/17 Python
python中二分查找法的实现方法
2020/12/06 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
加拿大户外探险购物网站:SAIL
2020/06/27 全球购物
运动会通讯稿500字
2014/02/20 职场文书
保安公司服务承诺书
2014/05/28 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
护理工作个人总结
2015/03/03 职场文书
企业财务管理制度范本
2015/08/04 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
如何解决springcloud feign 首次调用100%失败的问题
2021/06/23 Java/Android
一文搞懂python异常处理、模块与包
2021/06/26 Python
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis