unittest框架用法

本文详细介绍了unittest框架的四大组件:TestCase、TestSuite、TestRunner和TestFixture,以及unittest常用类和方法,包括unittest.main()、TextTestRunner和skip装饰器。通过示例展示了如何编写测试用例,并使用HTMLTestRunner生成测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.unittest的四大组件

二.unittest常用类

三.unittest框架使用示范

三.TestResult

四.测试套件的用法

五.装饰器

六.参数化

七.使用HTMLTestRunner.py模块生成测试报告


一.unittest的四大组件

1.TestCase:

测试用例,通过继承unittest.TestCase,来实现用例的继承,在Unittest中,测试用例都是通过test来识别的。

2.TestSuite:

用来组装测试用例 - addTest

一个功能的验证往往需要多个测试用例

3.TestRunner:

运行器,通过TextTestRunner类提供的run()方法来执行test suite/test case,一般通过runner来调试unittest.main()运行所有内容。

4.TestFixture:

对一个测试用例环境的搭建和销毁,就是一个fixture,通过setUp()和tearDown()方法实现

二.unittest常用类

1.TestCase,测试用例的父类,测试类需要继承它才有执行测试的能力

2.TestSuite,该类用于创建测试套件,可以将多个测试用例加入一个测试套件中

3.unnitest.main()方法可以运行所有test开头的方法

4.TextTestRunner,用该类的run()方法来运行TestSuite添加好的方法

5.skip装饰器,有时在某些系统环境上运行时,某些测试用例是不能通过的,但这并不是我们的产品或用例导致,而是环境的不兼容性问题,这时可以用skip装饰器跳过这些测试用例

三.unittest框架使用示范

被测试代码是一个简单的加法代码,如图

class Function:
  def add(self,a,b):
      return a + b

测试代码如下

import unittest
from my_unittest.function import Function

class TestFunction(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        print("每个测试类执行之前调用该方法“)

    @classmethod
    def tearDownClass(cls):
        print("每个测试类执行之后调用该方法“)

    def setUp(self):#重写父类的方法setUp(),对于当前的测试用例进行一些初始化工作
        self.func = Function()
        print("每个测试用例执行之前,均会调用该方法“)

    def tearDown(self):
        self.func = none #每个测试用例执行之后调用该方法,关闭对象,释放资源
         print("每个测试用例执行之后,均会调用该方法“)

    de
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值