• 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

  • 相关阅读:
    系统篇: ubuntu 下设置系统时区
    Ubuntu下载工具ip addr、ifconfig、ping、make
    【学习笔记】RabbitMQ03:DLX 死信交换机 死信队列 以及示例代码
    某个订单项目记录,涉及MQ消息处理、分布式问题、幂等性等问题解决设计
    面试必问Spring的核心概念
    Rabbit加密算法:性能与安全的完美结合
    cmake 项目。qt5升级 qt6 报错 error: “Qt requires a C++17 compiler 已解决
    如何在Centos8中添加附加的IP
    django项目、vue项目部署云服务器
    rtthread下基于spi device架构MCP25625驱动
  • 原文地址:https://blog.csdn.net/weixin_38102592/article/details/126087227