python单元测试框架Unittest详解

本文介绍了Python内置的单元测试框架Unittest,详细讲解了其核心组件如TestCase、TestSuite、main和TextTestRunner,以及skipXX装饰器的使用。此外,还探讨了Unittest的重要概念,包括测试固定装置(test fixture)、测试用例(test case)、测试套件(test suite)和测试运行器(test runner),并介绍了如何通过HTMLTestRunner生成测试报告。
摘要由CSDN通过智能技术生成

前言

我们今天来聊聊Python中的单元测试框架unittest,大家都知道在Python中比较热门的测试框架除了pytest就是unittest,我之前有讲过pytest所以今天想讲unittest。喜欢的可以点点关注哟。

Unittest详解

  Unittest是Python内部自带的一个单元测试的模块,它设计的灵感来源于Junit,具有和Junit类似的结构,有过Junit经验的朋友可以很快上手。Unittest具备完整的测试结构,支持自动化测试的执行,对测试用例集进行组织,并且提供了丰富的断言方法,最后生成测试报告。Unittest框架的初衷是用于单元测试,但也不限于此,在实际工作中,由于它强大的功能,提供的完整的测试流程,

所谓知己知彼百战不殆,首先我们来一起看下Unittest大家庭里的成员。首先导入unittest模块,使用dir()函数获取Unittest的所有成员,并输出到界面上。

1 import unittest
2 print(dir(unittest))

执行结果如下。

1 ['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', 'TestLoader', 'TestProgram', 'TestResult', 'TestSuite', 'TextTestResult', 'TextTestRunner', '_TextTestResult', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__unittest', 'case', 'defaultTestLoader', 'expectedFailure', 'findTestCases', 'getTestCaseNames', 'installHandler', 'load_tests', 'loader', 'main', 'makeSuite', 'registerResult', 'removeHandler', 'removeResult', 'result', 'runner', 'signals', 'skip', 'skipIf', 'skipUnless', 'suite', 'util']

  结果里显示了unittest模块的各个成员,看起来非常多,不知道如何下手。其实一个模块里往往包含了大量的成员,很大一部分我们使用的频率并不高,这时需要有重点的去攻克核心的部分,其他的稍作了解即可。下面先简单介绍最常用的一些成员,后续的章节中我们会详细剖析。

(1)TestCase:可以说是unittest中最重要的一个类,也是测试用例类的父类,通过对其继承,使子类具备了执行测试的能力。下例中MainTest是需要执行的测试类。

1 class MyTest(unittest.TestC
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值