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中的一些陷阱与技巧小结
Jul 10 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
基于python绘制科赫雪花
Jun 22 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
Python处理session的方法整理
Aug 29 Python
Python 经典算法100及解析(小结)
Sep 13 Python
python3.8下载及安装步骤详解
Jan 15 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
Python虚拟环境venv用法详解
May 25 Python
Python模拟登入的N种方式(建议收藏)
May 31 Python
分享7个 Python 实战项目练习
Mar 03 Python
Python实现仓库管理系统
May 30 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下对数组进行排序的函数
2010/08/08 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
php+ajax 实现输入读取数据库显示匹配信息
2015/10/08 PHP
php生成gif动画的方法
2015/11/05 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
javascript动画算法实例分析
2015/07/31 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
在Vue.js中使用TypeScript的方法
2020/03/19 Javascript
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
Pycharm学习教程(4) Python解释器的相关配置
2017/05/03 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
python pycharm的安装及其使用
2019/10/11 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
领导干部考察材料
2014/02/08 职场文书
求职简历自我评价范例
2014/03/12 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
结婚仪式主持词
2015/06/29 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
Python测试框架pytest高阶用法全面详解
2022/06/01 Python