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 相关文章推荐
Pycharm学习教程(3) 代码运行调试
May 03 Python
Python中的id()函数指的什么
Oct 17 Python
基于pip install django失败时的解决方法
Jun 12 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
python3人脸识别的两种方法
Apr 25 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
Python图像处理库PIL的ImageGrab模块介绍详解
Feb 26 Python
Django REST framwork的权限验证实例
Apr 02 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
Python并发爬虫常用实现方法解析
Nov 19 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将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
树结构之JavaScript
2017/01/24 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
python中尾递归用法实例详解
2015/04/28 Python
在Python中编写数据库模块的教程
2015/04/29 Python
对python中Json与object转化的方法详解
2018/12/31 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
用Python+OpenCV对比图像质量的几种方法
2019/07/15 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
python 调用Google翻译接口的方法
2020/12/09 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
代理人委托书
2014/08/01 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
初中教师个人总结
2015/02/10 职场文书
导游词格式
2015/02/13 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers