所以我环顾四周在我的Python27 / Lib目录…

unittest.main实际上是一个类的别名,unittest.TestProgram。那么,你会怎么样构造一个这样的一个实例,它的__init__运行,它执行一系列的完整性检查和配置,包括你调用它的模块的动态导入(它使用__import__函数,以__main__作为名称的模块导入,默认情况下)。所以现在它有一个self.module属性,它包含一个代表你的源代码的模块对象。

最后,它得到这段代码:

self.test = self.testLoader.loadTestsFromModule(self.module)

其中self.testLoader是unittest.TestLoader的一个实例。该方法包含以下内容:

for name in dir(module):

obj = getattr(module, name)

if isinstance(obj, type) and issubclass(obj, case.TestCase):

tests.append(self.loadTestsFromTestCase(obj))

因此,它使用您的模块对象的目录来获取您定义的所有全局变量(包括类)的名称,将其过滤到仅来自unittest.TestCase的类(本地,case.TestCase是其中的别名)然后在这些类中查找添加到测试列表中的测试方法。该搜索的行为类似:

def isTestMethod(attrname, testCaseClass=testCaseClass,

prefix=self.testMethodPrefix):

return attrname.startswith(prefix) and \

hasattr(getattr(testCaseClass, attrname), '__call__')

testFnNames = filter(isTestMethod, dir(testCaseClass))

所以它使用类的目录来获取要尝试的名称列表,使用这些名称查找属性,并选择以self.testMethodPrefix(默认为’test’)开头的属性,并且可调用(反过来) ,__call__属性)。 (我实际上很惊讶,他们在这里不使用内置的可调用函数,我想这是为了避免挑选嵌套类。)

python测试用例管理模块_Python的单元测试模块如何检测测试用例?相关推荐

  1. python测试管理平台_Python + flask+ selenium 自动化测试用例管理、执行平台

    写在开篇 这个项目放到论坛之后,有很多热心的小伙伴试用,并且在github上面也点赞和 fork. 感谢各位的支持! 不过可能大家使用习惯的问题, 遇到有什么问题,或者看到我在下面的回帖里回复了 qq ...

  2. python必学的模块_Python常用的模块

    模块和包 1.1模块介绍模块定义:一系列功能的集合体 模块使用: import导入模块 或者 from ... import... 导入模块 模块分类:内置模块 自定义模块 第三方模块 模块加载顺序: ...

  3. 简述python中怎样导入模块_Python中导入模块的两种模式,import

    import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...

  4. python里的os模块_python中os模块再回顾

    先看下我的文件目录结构 F:\PYTHON项目\ATM购物车\7月28 在此目录下的文件如下: 封装.py 模块os.sys复习.py 运行当前的文件是模块os.sys复习.py 1.获取当前文件所在 ...

  5. python的主要应用领域及常用的函数模块_python之常用模块篇5

    一.日志模块,logging模块 1)logging模块简单使用,屏幕输出.默认级别30 import logging logging.debug('debug...') # 10logging.in ...

  6. python写日志文件_Python logging日志模块 配置文件方式

    在一些微服务或web服务中我们难免需要日志功能,用来记录一些用户的登录记录,操作记录,以及一些程序的崩溃定位,执行访问定位等等; Python内置 非常强大的日志模块 ==> logging 今 ...

  7. python大型项目中的日志模块_Python中日志模块的使用

    前言 程序和脚本往往是无人值守运行的,一旦发生问题,就需要我们去追溯当时的情况来定位问题的原因. 这便需要我们在程序和脚本中引入日志的功能. 相比于print信息,使用logging日志有以下优点 可 ...

  8. python中自带的模块_python中的模块详解

    概念 python中的模块是什么?简而言之,在python中,一个文件(以".py"为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件.模块可以被项 ...

  9. python xlrd模块_python之xlrd模块

    xlrd模块 一.xlrd模块 1.python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,这两个适用于.xls格式有效 2. xlrd模块 ...

最新文章

  1. Vue入门三、过滤器filter
  2. 简单几段python代码_如何用python跑一段鸿蒙最简单代码?
  3. 超级史诗灯光人舞蹈,神作!
  4. 《数据结构与算法分析》学习笔记(二)——算法分析
  5. MinerConfig.java 爬取配置类
  6. python测试驱动开发 中文版_GitHub - starryrbs/python_tdd: 使用Python测试驱动开发完成Django项目...
  7. centos7下使用rpm包安装clickhouse
  8. Shell:运算命令和操作符
  9. 编译OpenJDK8:CreateJars.gmk/BuildJdk.gmk/Main.gmk/错误
  10. linux运行海康的sdk,海康摄像头SDK在Linux、windows下的兼容问题(二)已解决
  11. 什么是IT和什么是IT行业
  12. 关于opencv新版无法使用LSD算法的问题
  13. 2. C语言 -- 打印
  14. 在Mac上怎么使用Charles进行抓包
  15. kvm+webvirtmgr部署
  16. 关于kindle使用的文章
  17. JavaScript【图片轮播】
  18. jsp java 传值方法_JSP页面间的传值方法总结
  19. 三、实现LED花样流水
  20. Amber小分子-蛋白复合体分子动力学模拟

热门文章

  1. 2005年上海交通大学计算机研究生机试真题
  2. JavaScript学习-1
  3. ajax中的同步异步
  4. http://4526621.blog.51cto.com/4516621/1343369
  5. 如何向本地MSDN帮助库中添加和修改一些帮助内容
  6. 自动驾驶的一些专业术语
  7. 编写你的第一个 Django 应用,第 4 部分
  8. Nginx 下载限速
  9. 征战蓝桥 —— 2014年第五届 —— C/C++A组第10题——波动数列
  10. python人工智能——机器学习——分类算法-朴素贝叶斯算法对新闻进行分类案例