unittest-03-核心概念

从哪儿了解和学习 unittest 框架:

  • 看官方文档(unittest --- 单元测试框架 — Python 3.11.8 文档),这个最重要!!!
  • 选择你安装的 Python 的对应版本,而且有多种语言可选。
  • 关于词语 “测试”。文档中经常用到“测试”一词,如执行一个“测试”。这里的测试是一个更加笼统的概念,即不特指为测试用例或测试方法。如你执行一个指定的测试用例,可以称之为一次测试,同样你执行一个指定的测试方法,也可以称之为一次测试。

unittest 在哪儿?

  • 安装完 Python 后就自动拥有了 unittest,他在你 python 安装目录下的 Lib 子目录中,由十来个文件组成,见下图
  • 中括号里面是该文件中的重要的类,包括其继承关系。当然对于学习和理解框架,红色的内容相对而言会更加重要。

unittest中的核心概念:

  • 测试用例(TestCase)
    • 一个测试用例是一个独立的测试单元。自己编写的测试用例需要继承自基类TestCase
    • 一个测试用例中可以包含多个测试方法。每个测试方法可以完成一次独立的测试
    • 对应的类是:TestCase
  • 测试套件(TestSuite)
    • 根据不同的测试目的将多个测试用例组织到一起,形成一个用例的集合,称之为测试套件。如冒烟测试套件、回归测试测试套件等
    • 对应的类是:TestSuite
  • 测试固件(TestFixture)
    • 把带共性的前置和后置操作从测试代码中提出来。在运行测试时,测试框架会自动地为每个单独测试调用前置和后置的方法。这样的一个结构被称为测试固件(也可译为测试夹具、测试脚手架)
    • 测试固件可以针对模块、类、方法分别实施初始化和清理工作
    • 测试固件是一系列固定名称的方法,如setUp()、tearDown()、setUpClass()、tearDownClass() 等
  • 测试加载器(TestLoader)
    • 通过用户传入的测试名称、目录位置等寻找相应的测试,创建它们的实例,并添加到 测试套件(TestSuite) 中。
    • 对应的类是:TestLoader
    • 对应的加载方法是:loadTestsFromTestCase()、loadTestsFromModule()、loadTestsFromName()、loadTestsFromNames()、getTestCaseNames()
    • 有一个特殊的加载方法,也叫探索性测试:discover(),可以搜索指定目录范围内的测试模块
  • 测试运行器(TestRunner)
    • 运行测试(测试模块、测试套、测试用例、测试方法等),输出测试结果(文本形式、HTML形式)
    • 默认使用的类是 TextTestRunner,即文本形式的测试运行器
  • 测试结果(TestResult)
    • 用于测试结果的输出和显示
    • 默认使用的类是 TextTestResult,即文本形式的测试结果输出,继承自TestResult 类
  • 跳过测试(SkipTest)
    • 可以通过 skip 装饰器跳过某些测试用例和测试方法
    • 可用跳过装饰器包括:SkipTest、skip、 skipIf、skipUnless

【测试方法-测试用例-测试套件】之间的组织关系:

unittest 中的主要类和方法列表

在 ...\Python311\Lib\unittest\__init__.py 文件中,集中收集了主要的类和方法的列表,要查看对应的源码可以在这里通过 “Ctrl + 鼠标左键” 点击相应的名称。

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值