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 04 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
python使用正则筛选信用卡
Jan 27 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
用python求一重积分和二重积分的例子
Dec 06 Python
python使用正则表达式(Regular Expression)方法超详细
Dec 30 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
pycharm 实现本地写代码,服务器运行的操作
Jun 08 Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 Python
分享一个python的aes加密代码
Dec 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
php INI配置文件的解析实现分析
2011/01/04 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
jQuery控制TR显示隐藏的三种常用方法
2014/08/21 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
详解JS面向对象编程
2016/01/24 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
对angular4子路由&辅助路由详解
2018/10/09 Javascript
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
github配置使用指南
2014/11/18 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python基于jieba库进行简单分词及词云功能实现方法
2018/06/16 Python
python如何实现从视频中提取每秒图片
2020/10/22 Python
python绘制彩虹图
2019/12/16 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
初中体育教学反思
2014/01/14 职场文书
社会实践感言
2014/01/25 职场文书
楼面部长岗位职责范本
2014/02/14 职场文书
生产厂长岗位职责
2014/02/21 职场文书
公司租房协议书范本
2014/10/08 职场文书
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle