• 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

  • 相关阅读:
    【树莓派烤肉 001】从 0 开始用自己的树莓派搭建服务器:运维篇
    qt 无边框窗口、任务栏图标支持放大缩小、捕获任务栏图标关闭事件
    SAVE: 软件分析验证和测试平台
    java计算机毕业设计咖啡屋订单系统源码+mysql数据库+系统+lw文档+部署
    Linux搭建samba文件共享服务器,实现基于Linux和Windows的共享文件服务
    Windows环境Redis使用AOF持久化,无法生成AOF文件,生成后无法加载AOF文件内容
    山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线
    java中对象的比较
    如何基于 esp-at 固件测试 TCP (UART 转 WiFi 透传)吞吐?
    OpenHarmony中SystemAbility的实现方法
  • 原文地址:https://blog.csdn.net/weixin_38102592/article/details/126087227