• Python框架之UnitTest


    unittest 是python 的单元测试框架,unittest 单元测试提供了创建测试用例,测试套件以及批量执行的方案, unittest 在安装pyhton 以后就直接自带了,直接import unittest 就可以使用,测试人员用UnitTest来做自动化测试,即管理和执行用例。
    一、UnitTest基本组成
    测试人员使用此框架的原因:能够组织多个用例去执行、提供丰富的断言方法、能够生成测试报告。
    1、测试发现:从多个py文件中收集并加载测试用例;
    2、测试执行:将测试用例按照一定的顺序和条件去执行并生成结果;
    3、测试判断:通过断言去判断结果是否正确;
    4、测试报告:统计测试进度,通过率,生成报告;
    UnitTest的组成部分:
    1、TestCase:用来写测试用例
    2、TestSuite:测试套件,用来组装测试用例,即打包TestCase
    3、TestRunner:测试执行,用来执行TestSuite
    4、TestLoader:测试加载,对TestSuite功能的补充,用来组装TestCase
    5、Fixture:测试夹具,是一种代码结构,前置方法和后置方法
    TestCase测试用例
    步骤:
    (1)导包 unittest
    (2)定义测试类,只需要继承unittest.TestCase类就是测试类
    (3)书写测试方法,方法名必须以test开头
    (4)执行代码

    (1)导包 unittest

    import unittest

    (2)定义测试类,只需要继承unittest.TestCase类就是测试类

    class TestDemo(unittest.TestCase):
    # (3)书写测试方法,方法名必须以test开头
    def test_method1(self):
    print(‘测试方法一’)

    def test_method2(self):
        print('测试方法二')
    
    • 1
    • 2

    (4)执行代码

    4.1在类名或者方法名后面右键运行。类名后面运行:执行类中所有的测试方法;在方法名后面,只执行当前的测试方法

    4.2 在主程序中使用unittest.main()来执行

    if name == ‘main’:
    unittest.main()
    复制代码
    TestSuite和TestRunner
    TestSuite(测试套件),用来组装测试用例,将多个测试用例脚本集合在一起。
    使用步骤:

    实例化测试套件:suite = unittest.TestSuite()

    添加用例:suite.addTest(ClassName(“MethodName”))
    ClassName:为类名;MethodName:为方法名

    添加扩展:suite.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(ClassName))

    添加扩展:suite.addTest(unittest.makeSuite(测试类名))
    把指定ClassName类中的测试用例全部添加到测试套件中
    案例: 两个用例文件testcase1.py和testcase2.py
    testcase1.py文件中的代码为;

    import unittest

    class TestDemo1(unittest.TestCase):

    def test_method1(self):
        print('测试方法1-1')
    
    def test_method2(self):
        print('测试方法1-2')
    
    • 1
    • 2
    • 3
    • 4
    • 5

    复制代码
    testcase2.py文件中的代码为;

    1、导包

    import unittest

    2、定义测试类,继承unittest.TestCase就是测试类

    class Test

  • 相关阅读:
    Maven - 国内 Maven 镜像仓库(加速包,冲冲冲~)
    『递归』递归概念与典型实例
    高德地图通过画面中的一个覆盖物设置图中心点和zoom
    【Godot4自学手册】第十八节主人公的血量显示
    优先队列题目:数组的最小偏移量
    【AI视野·今日Robot 机器人论文速览 第八十四期】Thu, 7 Mar 2024
    resnet(1)------像素与卷积
    简述对象、类、类结构、消息、方法的基本概念。
    2023 收入最高的十大编程语言
    Java虚拟机启动整体流程和基础学习(内容很多,不可快餐阅读),推理+源码论证
  • 原文地址:https://blog.csdn.net/weixin_38102592/article/details/126087227