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模块顶层运行的代码引起的一个Bug
Jul 04 Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
python获取从命令行输入数字的方法
Apr 29 Python
连接Python程序与MySQL的教程
Apr 29 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python requests模块实例用法
Feb 11 Python
Django如何开发简单的查询接口详解
May 17 Python
python顺序执行多个py文件的方法
Jun 29 Python
详解python实现小波变换的一个简单例子
Jul 18 Python
Python实现Restful API的例子
Aug 31 Python
python 如何快速复制序列
Sep 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
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
Javascript面向对象扩展库代码分享
2012/03/27 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
将数字转换成大写的人民币表达式的js函数
2014/09/21 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
canvas绘制万花筒效果(代码分享)
2017/01/20 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
Postman的下载及安装教程详解
2018/10/16 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
实用自动化运维Python脚本分享
2018/06/04 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
廉政教育心得体会
2014/01/01 职场文书
法学个人求职信范文
2014/01/27 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
科学发展观演讲稿
2014/09/11 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
导师对论文的学术评语
2015/01/04 职场文书
公司庆典欢迎词
2015/01/26 职场文书
搞笑老公保证书
2015/02/26 职场文书
《走遍天下书为侣》教学反思
2016/02/22 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
Redis唯一ID生成器的实现
2022/07/07 Redis