做基于unittest的自动化测试代码编写,运行用例或多或少都用到unittest.defaultTestLoader.discover方案。

suites=unittest.defaultTestLoader.discover('testcase',pattern='test*.py')

基于该方法查看其源码,其中有一段代码令人寻味<最后三行>,如下。

    def discover(self, start_dir, pattern='test*.py', top_level_dir=None):'''以上代码省略,只复制了最后三行'''if not is_namespace:tests = list(self._find_tests(start_dir, pattern))return self.suiteClass(tests)

再找到_find_tests方法如下:

tests = list(self._find_tests(start_dir, pattern)) 的list方法直接把这个生成器生成的数据一次性拿出来,没有起到生成器的作用,故对其做一定的改变如下。

discover()改为一个生成器函数,等待更上层处理。

配合beautifulreport生成测试报告,需要在report模块对这个生成器做进一步处理。只需要将report方法中的注释的一行改为标红的代码即可。这时候就是一个模块一个模块的导入,运行。这里利用了生成器的惰性机制,当然也可以在外部做限定,使之一次只能导入一个模块(相对简单,这里不表)。

验证:

导入时就会打印红色标记内容。

未做更改时会一次性打印出来,再行运行用例one by one(奈何母语不过关,用一个接一个有点太口语化)。

配合beautifulreport如下:

unittest.defaultTestLoader.discover实现在运行时运行用例相关推荐

  1. 使用unittest.defaultTestLoader.discover第二次总是报错

    原代码 unittest.defaultTestLoader.discover(path,'*.py') 在使用时发现只有第一次可以运行成功,第二次就报importerror 后改为 dis = un ...

  2. Python: 从PYTORCH导出模型到ONNX,并使用ONNX运行时运行它

    Python: 从PYTORCH导出模型到ONNX,并使用ONNX运行时运行它 本教程我们将描述如何将PyTorch中定义的模型转换为ONNX格式,然后使用ONNX运行时运行它. ONNX运行时是一个 ...

  3. d2l的运行时运行失败

    问题分析 在运行李沐老师动手学深度学习的时候,尝试运行函数的时候发现如下问题 及返回No module named 'd2l' 这里主要是因为d2l是需要另外下载的,这里给到李沐老师的GitHub的网 ...

  4. java多态编译_关于java:编译时多态是否是这样的运行时多态?

    通过研究,我了解到: 重载,运算符重载和重载是我们所说的多态. 多态性意味着同一实体有时表现不同 例如: 参数 add(12, 13); add(12.2, 13.3); 相同实体(add())有时会 ...

  5. 开源运行时社区 - 核心概念说明

    OSRC - 开源运行时社区 - 核心概念说明 Code is code,when it's running, warm the world! 基本概念 在使用 OSRC 前,可以先简单了解一下几个概 ...

  6. 尝试用HSDB分析JVM运行时内存理解Java多态实现机制

    测试代码 // 接口 package ziya; public interface TestParent {void show(); }package ziya; public class Paren ...

  7. 07|Serverless运行时:使用自定义运行时支持自定义编程语言

    这一讲我将带你了解如何自定义函数运行时. 我们知道 Serverless 应用的函数代码是在 FaaS 中运行的,到目前为止,你也只能选择 FaaS 平台支持的编程语言开发应用,而 FaaS 平台支持 ...

  8. unittest里discover用法_unittest框架核心要素及应用

    1. unittest核心要素 unittest介绍 测试框架,不仅仅用于单元测试 python自动的测试包 用法和django.test.TestCase类似 1.1[知道]unittest介绍和核 ...

  9. Python unittest利用discover获取指定目录或多级目录下的测试用例

    最近在写接口自动化框架,由python+requests+unittest构建(其他还有些导入模块,这里暂且不说),目前还在搭建当中,整体其框架结构如下: 在编写Common下的RunTools组件( ...

最新文章

  1. pythreejs is needed for plotting with pythreejs backend
  2. library at girton
  3. [置顶] 混响音效
  4. 微博:坚决打击在政务、媒体官微下刷量控评的行为
  5. html遮罩提示框代码,基于jQuery实现弹出可关闭遮罩提示框实例代码
  6. Linus 谈软件开发管理经验(转载)
  7. 深入剖析 Sharepoint 企业项目管理与 SharePoint(转)
  8. 【图像去雾】基于matlab GUI直方图均衡化+Retinex理论图像去雾【含Matlab源码 1509期】
  9. Pcshare远控源码偏重分析(一)
  10. 深度掌握SVG路径path的贝塞尔曲线指令
  11. Cry with DX11
  12. 读《三体_黑暗森林》
  13. php根据手机号码获取归属地,PHP通过API获取手机号码归属地,手机号码
  14. 安卓手机管理_北斗ERP进销存管理(销存管理工具)V2.2.4 安卓手机版
  15. react手写签名功能
  16. opengl绘制三维人物luweiqi
  17. 上帝的心态发生了改变---太原市-------从热血沸腾到麻木不仁
  18. Qt运行过程中错误未找到信号的符号undefined symbol: _ZN11FileManager12sigTechFilesE4QMapIi7QSt
  19. commvault备份mysql数据库_2-CommVault备份项目实施方案-XXXX.docx
  20. 前端小游戏页面性能优化

热门文章

  1. python实现 空间前方交会
  2. 近视也可以用计算机来算,近视眼度数怎么算的 5个方法教你掌握
  3. 2020 嵌入式系统原理与应用技术(第2版) 期末复习 【整理】 习题2
  4. Weblogic 线程的几种状态 - STUCK,ACTIVE,STANDBY - 你了解它们的含义吗
  5. 2020年这些正则应该被收藏(64条)
  6. 数据结构 - 二叉树的遍历
  7. excel表格怎么固定表头?
  8. 数仓工具—Hive实战之UDF汉字首字母(22)
  9. Could not target platform: ‘Java SE 11‘ using tool chain: ‘JDK 8 (1.8)‘
  10. 外包程序员也能进阿里,分享我的阿里菜鸟面经,本人已成功入职!