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分析git log日志示例
Feb 27 Python
用python读写excel的方法
Nov 18 Python
Python使用MONGODB入门实例
May 11 Python
python 判断网络连通的实现方法
Apr 22 Python
对python的bytes类型数据split分割切片方法
Dec 04 Python
python获取本机所有IP地址的方法
Dec 26 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
Sep 17 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
Python实现屏幕录制功能的代码
Mar 02 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
php伪静态之APACHE篇
2014/06/02 PHP
php无序树实现方法
2015/07/28 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
javascript 中String.match()与RegExp.exec()的区别说明
2013/01/10 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
详解Bootstrap创建表单的三种格式(一)
2016/01/04 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
Vue 滚动行为的具体使用方法
2017/09/13 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python实现的检测网站挂马程序
2014/11/30 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
初中生个人学习的自我评价
2013/12/04 职场文书
整改报告格式
2014/11/06 职场文书
文艺委员竞选稿
2015/11/19 职场文书
Python中Permission denied的解决方案
2021/04/02 Python
电脑开机弹出documents文件夹怎么回事?弹出documents文件夹解决方法
2022/04/08 数码科技