UnitTest单元测试框架详解

一、什么是Unittest框架

unittest是python自带的一个单元测试框架,不仅适用于单元测试,还可用于Web、Appium、接口自动化测试用例的开发与执行;此框架可以组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否执行通过,并生成测试结果。

二、Unittest框架原理

Unittest框架最核心的四个概念:

  1. test case:测试用例
  2. test suite:测试套件
  3. test runner: 用来执行测试用例和测试套件,并返回测试用例的执行结果
  4. TestLoader:批量执行测试用例
  5. test fixure:测试夹具

三、Unittest的使用

3.1 TestCase 测试用例

当我们在写接口用例的时候,会继承 unittest 当中的 TestCase 的类和方法,可以用来创建新的测试用例,一个TestCase的实例就是一个测试用例,unittest中的测试用例都是以 “test” 开头,并且它的执行顺序是按照方法名的ASCII值进行排序。

# test_001.py
import unittest

def add(x, y):
  return x + y

class Test_Case_01(unitest.TestCase):      # 新建测试类必须继承unittest.TestCase

  # 测试方法名称必须以 test 开头
  def test_add_01(self):  
    result = add(2, 4)
    print(f'两数和为:{
     result}')

  def test_add_02(self):
    result = add(5, 7)
    print(f'两数之和为:{
     result}')


if __name__ == '__main__':
  # 执行测试用例
  unittest.main()

3.2 TestSuite

一个功能的验证往往需要多个测试用例,可以把多个测试用例集合在一起执行,这就产生了TestSuite的概念。我们可以把它理解成一个篮子,篮子里面放了很多东西(test case)。使用addTest来加载TestCase到TestSuite中。

testsuit的使用:
(1)实例化:suite = unittest.TestSuite()
(2)添加用例:suite.addTest(ClassName(“MethodName”))
(ClassName:类名,MethodName:方法名)
(3)添加扩展:suite.addTest(unittest.makeSuite(ClassName))
(搜索指定ClassName内 test 开头的方法,并添加到测试套件中)

提示: TestSuite需要配合TestRunner才能被执行

# 公众号:大森玩测试
# 案例

import unittest
from test_001 import Test_Case_01

# 实例化测试套件对象
suite = unit
  • 22
    点赞
  • 190
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值