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基础教程之字典操作详解
Mar 25 Python
pycharm 使用心得(三)Hello world!
Jun 05 Python
Python使用minidom读写xml的方法
Jun 03 Python
Python语言生成水仙花数代码示例
Dec 18 Python
python实现用户答题功能
Jan 17 Python
python线程安全及多进程多线程实现方法详解
Sep 27 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
Python如何获取文件指定行的内容
May 27 Python
详解Django中views数据查询使用locals()函数进行优化
Aug 24 Python
Python生成九宫格图片的示例代码
Apr 14 Python
用Python远程登陆服务器的步骤
Apr 16 Python
Django框架之路由用法
Jun 10 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
DOMXML函数笔记
2006/10/09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
php MessagePack介绍
2013/10/06 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
用Python实现随机森林算法的示例
2017/08/24 Python
python遍历文件夹下所有excel文件
2018/01/03 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
numpy.array 操作使用简单总结
2019/11/08 Python
安装PyInstaller失败问题解决
2019/12/14 Python
Python基础之字典常见操作经典实例详解
2020/02/26 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
外贸学院会计专业应届生求职信
2013/11/14 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
社区班子个人对照检查材料思想汇报
2014/10/07 职场文书
博物馆观后感
2015/06/05 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
linux下安装redis图文详细步骤
2021/12/04 Redis
Python软件包安装的三种常见方法
2022/07/07 Python