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

yipeiwu_com6年前Python基础

当我们写了一个单个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实现简单QQ单用户机器人的方法

采用python实现简单QQ单用户机器人的方法如下: 一、首先我们查看一下关于3GQQ的相关协议:     对此,打开一个支持WAP的浏览器,可以使用Fir...

pytorch制作自己的LMDB数据操作示例

本文实例讲述了pytorch制作自己的LMDB数据操作。分享给大家供大家参考,具体如下: 前言 记录下pytorch里如何使用lmdb的code,自用 制作部分的Code code就是A...

对numpy中数组元素的统一赋值实例

Numpy中的数组整体处理赋值操作一直让我有点迷糊,很多时候理解的不深入。今天单独列写相关的知识点,进行总结一下。 先看两个代码片小例子: 例子1: In [2]: arr =np....

对Python中的@classmethod用法详解

在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法。 总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的。 不过还是好奇去查了一...

简单谈谈python中的Queue与多进程

简单谈谈python中的Queue与多进程

最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程 一、先说说Queue(队列对象) Queue是python中...