一、discover更多测试用例

可以根据不同的功能创建不同的测试文件,甚至是不同的测试目录,测试文件中还可以将不同的小功能划分为不同的测试类,在类下编写测试用例,让整体结构更加清晰

但通过addTest()添加、删除测试用例就变得非常麻烦

TestLoader 类中提供的discover()方法可以自动识别测试用例

discover(start_dir,pattern='test*.py',top_level_dir= None)

找到指定目录下所有测试模块,并可递归查到子目录下的测试模块,只有匹配到文件名时才加载

start_dir:要测试的模块名或测试用例目录

pattern='test*.py':表示用例文件名的匹配原则。此处匹配以“test”开头的.py 类型的文件,* 表示任意多个字符

top_level_dir= None 测试模块的顶层目录,如果没有顶层目录,默认为None

实例1:import unittest
test_dir = './'
#定义测试目录为当前目录
discover = unittest.defaultTestLoader.discover(test_dir,pattern='test*.py')if __name__ == '__main__':runner = unittest.TextTestRunner()runner.run(discover)
discover()方法会自动根据测试目录test_dir 匹配查找测试用例文件,并将查找到的测试用例组装到测试套件中,因此,可以直接通过
run()方法执行discover,大大简化了测试用例的查找与执行
实例2:
suite = unittest.TestSuite()
all_cases = unittest.defaultTestLoader.discover(PY_PATH,'Test*.py')
#discover()方法会自动根据测试目录匹配查找测试用例文件(Test*.py),并将查找到的测试用例组装到测试套件中
[suite.addTests(case) for case in all_cases]
report_html = BeautifulReport.BeautifulReport(suite)

二、用例执行的顺序

unittest 框架默认根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0~9,A~Z,a~z 如果要让某个测试用例先执行,不能使用默认的main()方法,需要通过TestSuite类的addTest()方法按照一定的顺序来加载

转载:https://blog.csdn.net/happyuu/article/details/80683161

Python unittest discover()方法与执行顺序补充相关推荐

  1. python类中方法的执行顺序-Python实例化class的执行顺序实例方法

    Python中实例化class的执行顺序示例详解 前言 本文主要介绍了关于Python实例化class的执行顺序的相关内容,下面话不多说了,来一起看看详细的介绍吧 Python里对类的实例化时有怎样的 ...

  2. python类中方法的执行顺序-Python中实例化class的执行顺序示例详解

    前言 本文主要介绍了关于Python实例化class的执行顺序的相关内容,下面话不多说了,来一起看看详细的介绍吧 Python里对类的实例化时有怎样的顺序 一般来说一个类里面有类变量和方法,比如我们定 ...

  3. python类中方法的执行顺序-浅谈Python的方法解析顺序(MRO)

    方法解析顺序, Method Resolution Order 从一段代码开始 考虑下面的情况: class A(object): def foo(self): print('A.foo()') cl ...

  4. python类中方法的执行顺序-python – 新式类中的方法解析顺序(MRO)?

    在Python in a Nutshell(第2版)一书中有一个使用的例子 旧样式类,用于演示如何以经典分辨率顺序解析方法 它与新订单有何不同. 我通过重写新样式的示例尝试了相同的示例,但结果与使用旧 ...

  5. python类中方法的执行顺序-python 函数或者类 代码的执行顺序

    修改了一下问题,大家直接先看例 3 对于简单的控制语句来说, x = 1 if x > 0: print('true') else: print('false') 我们都知道当判定 x > ...

  6. java 子类继承父类各方法的执行顺序

    结论: java中子类继承父类各方法的执行顺序:(这里只写jvm自动调用的方法的顺序,包括静态代码块.代码块.构造方法) 1.第一次创建子类对象 父类静态代码块 子类静态代码块 父类代码块 父类构造方 ...

  7. python两个装饰器执行顺序_python中多个装饰器的执行顺序

    今天讲一下python中装饰器的执行顺序,以两个装饰器为例. 装饰器代码如下: def wrapper_out1(func): print('--out11--') def inner1(*args, ...

  8. python两个装饰器执行顺序_python中多个装饰器的执行顺序详解

    装饰器是程序开发中经常会用到的一个功能,也是python语言开发的基础知识,如果能够在程序中合理的使用装饰器,不仅可以提高开发效率,而且可以让写的代码看上去显的高大上^_^ 使用场景 可以用到装饰器的 ...

  9. python装饰器调用顺序_聊一聊Python装饰器的代码执行顺序

    为什么写这篇文章? 起因是QQ群里边有人提了一个问题:之前导入模块只需要1~2秒,为什么现在变成需要2~3分钟? 我的第一感觉是:是不是导入的模块顶层代码里边,做了什么耗时的事情.隔了一天,他的问题解 ...

  10. 子类、父类各种方法的执行顺序

    先贴出代码 : 父类Animal , package parentAndChild; public class Animal { /** * 动物类 */ static{ System.out.pri ...

最新文章

  1. Linux GCC用法
  2. Rust编程语言的核心部件
  3. VS2010编译错误:fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x
  4. python嵌套列表字典_python中嵌套列表转为字典
  5. Javascript构造函数的继承
  6. Fortinet 荣膺谷歌云年度安全技术合作伙伴奖
  7. JVM整体架构与调优参数说明
  8. 如何将Linux还原为win10,技术编辑为你解说win10系统Linux Bash命令的还原步骤
  9. python创建一个空的dataframe_python - 创建一个空的Pandas DataFrame,然后填充它?
  10. 【KDD20】图神经网络在生物医药领域的应用
  11. Taro+dva+Typescript 搭建微信小程序架构
  12. Midori 0.5 发布,轻量级跨平台网页浏览器
  13. Saga分布式事务解决方案与实践
  14. linux查看java堆栈
  15. centos7搭建apache服务器
  16. 借你的名字,诵念尘世的幸福
  17. 5G物理信道个数和调制方式
  18. 数据结构--创建并输出二叉树的c语言实现(超详细注释/实验报告)
  19. python 实现雪容融
  20. ICDE-2020 论文简析:空间众包中的预测任务分配 : 一种数据驱动的方法 Predictive Task Assignment in Spatial Crowdsourcing

热门文章

  1. mysql中alter语句卡死的一个解决方法
  2. MySQL老是提示视图没有主键
  3. android文章 - 收藏集 - 掘金
  4. 多线程下不反复读取SQL Server 表的数据
  5. apache tuscany(一)
  6. Java数据结构——二叉树
  7. [转载]浅谈敏捷管理在软件项目中应用
  8. redhat5下安装informix
  9. C/c++ http请求
  10. JDBC数据源(DataSource)的简单实现