对python_discover方法遍历所有执行的用例详解


Posted in Python onFebruary 13, 2019

当我们写了一个单个py的测试文件时直接运行就ok了,但当我们有很多很多个这样的py时,难道要一个一个的点击来运行吗,当然不是。我们可以通过discover方法来找到所有的用例。

下面直接举例说明discover用法:

一、 准备工作

目录结构:

对python_discover方法遍历所有执行的用例详解

DiscoverCase.py 文件代码:

import unittest
import os

def discover_case(case_dir):
 # 待执行用例的目录
 testcase = unittest.TestSuite()
 discover = unittest.defaultTestLoader.discover(case_dir,pattern="*.py",top_level_dir=None)
 # discover方法筛选出来的用例,循环添加到测试套件中
 print(discover)
 for test_suite in discover:
  for test_case in test_suite:
   print(test_case)
   # 添加用例到testcase
   #testcase.addTests(test_case)
   testcase.addTests(test_case)

 return(testcase)
path = os.path.join(os.getcwd(), "测试用例")
case = discover_case(case_dir=path)
print(case)

Test1代码(test2~4代码基本相同):

对python_discover方法遍历所有执行的用例详解

注意:每个testcase里面的执行用例(即以test开头的函数)必现大于或等于两个,不然会报错。

二、写好这些后我们就直接跑程序看结果

运行后用例的文件名、类名、函数名都会遍历出来

对python_discover方法遍历所有执行的用例详解

是不是很简单啊。

注意:如果用例名称全为中文是不可以加载的到的,必须以字母开始,比如“i登录.py”

这样是可以被加载到的,如果直接写”登录.py”这样是不能被加载到的。

以上这篇对python_discover方法遍历所有执行的用例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用paramiko模块实现ssh远程登陆上传文件并执行
Jan 27 Python
Python FTP操作类代码分享
May 13 Python
Python写的一个简单监控系统
Jun 19 Python
详解python 发送邮件实例代码
Dec 22 Python
Python3 socket同步通信简单示例
Jun 07 Python
详解python基础之while循环及if判断
Aug 24 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
Feb 11 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
python如何统计序列中元素
Jul 31 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
django2.0扩展用户字段示例
Feb 13 #Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 #Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 #Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 #Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
Feb 13 #Python
Python实现Event回调机制的方法
Feb 13 #Python
Python socket实现多对多全双工通信的方法
Feb 13 #Python
You might like
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
PHP 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
2019/03/06 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
jQuery实现div浮动层跟随页面滚动效果
2014/02/11 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
学习javascript面向对象 掌握创建对象的9种方式
2016/01/04 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
Express + Session 实现登录验证功能
2017/09/08 Javascript
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python实现识别手写数字 简易图片存储管理系统
2018/01/29 Python
python实现身份证实名认证的方法实例
2019/11/08 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
python SOCKET编程基础入门
2021/02/27 Python
HTML5实现直播间评论滚动效果的代码
2020/05/27 HTML / CSS
校园新闻广播稿
2014/01/10 职场文书
我爱我的祖国演讲稿
2014/05/04 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
2014年项目经理工作总结
2014/11/24 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers
Redis入门基础常用操作命令整理
2022/06/01 Redis