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之再深点,更懂list
Sep 20 Python
10款最好的Web开发的 Python 框架
Mar 18 Python
使用Python中的greenlet包实现并发编程的入门教程
Apr 16 Python
使用Python设置tmpfs来加速项目的教程
Apr 17 Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 Python
Python在for循环中更改list值的方法【推荐】
Aug 17 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
Nov 21 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
python实现按关键字筛选日志文件
Dec 24 Python
使用Python串口实时显示数据并绘图的例子
Dec 26 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
python 三种方法提取pdf中的图片
Feb 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 咖啡文化
如何限制访问者的ip(PHPBB的代码)
2006/10/09 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
解析php中curl_multi的应用
2013/07/17 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript 函数调用的对象和方法
2010/07/01 Javascript
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
利用JQuery和Servlet实现跨域提交请求示例分享
2014/02/12 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
vuex实现简易计数器
2016/10/27 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
微信小程序picker组件简单用法示例【附demo源码下载】
2017/12/05 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
[00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
2019/08/04 DOTA
Python3简单实例计算同花的概率代码
2017/12/06 Python
pandas的相关系数与协方差实例
2019/12/27 Python
利用python画出AUC曲线的实例
2020/02/28 Python
python跨文件使用全局变量的实现
2020/11/17 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
python数据抓取3种方法总结
2021/02/07 Python
阿提哈德航空官方网站:Etihad Airways
2017/01/06 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
文科毕业生自荐书范文
2014/04/17 职场文书
参赛口号
2014/06/16 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
酒店开业主持词
2015/07/02 职场文书
单位病假条范文
2015/08/17 职场文书
Python还能这么玩之用Python修改了班花的开机密码
2021/06/04 Python
MySQL如何解决幻读问题
2021/08/07 MySQL