• 测试八股文-单元测试框架


    测试八股文-单元测试框架

    总结了一些单元测试框架的常见问题,欢迎评论区补充,如需教学辅导可私信作者

    UnitTest
    如何定义一个测试类和测试方法

    继承unittest.TestCase的类即为测试类,成员方法需要以test开头,如需修改命名规则,需要定义ini文件

    UnitTest的测试夹具(前后置方法)有哪些
    • setUpClasstearDownClass:类级别的前后置增强,需要使用装饰器@classmethod
    • setUptearDown:方法级别的前后置增强
    • setUpModuletearDownModule:模块级别的前后置增强
    如何跳过测试用例

    使用装饰器@unittest.ship(msg)

    什么是测试套件(TestSuite),如何使用?

    多个测试用例的集合称为测试套件

    使用方法

    • 创建测试套件:suite=unittest.TestSuite()

    • 添加测试用例:suite.addTest(ClassName('MethodName'))

    • 批量添加:suite.addTest(unittest.makeSuite(ClassName)),会将指定类中以test开头的方法添加到测试套件中

    • 运行测试套件,需要依赖于TestRunner对象,然后调用run方法

    runner = unittest.TextTestRunner()
    runner.run(suite)
    
    • 1
    • 2
    什么是测试执行器?

    测试执行器是用来执行测试用例和测试套件,并返回测试用例的执行结果,在unittest单元测试框架中,通过TextTestRunnerrun方法来执行测试用例或套件,还可以用图形或者文本接口,把返回的测试结果更形象的展现出来,如:HTMLTestRunner

    如何参数化测试

    UnitTest可以结合DDT进行数据驱动

    ddt常用装饰器

    • @ddt.ddt:解析测试类中使用了ddt装饰器的方法
    • @ddt.data:为方法提供数据驱动
    • @ddt.unpack:对ddt参数进行解包
    @ddt.unpack
    @ddt.data([1, 1], [2, 2], [3, 3])
    
    • 1
    • 2

    不解包则认为参数为单个参数,如果进行解包会按照集合中的元素个数从左往右赋值给每一个形参

    如何生成测试报告

    可以使用HTMLReportBeautifulReportAllure等,到github中查找项目,查看具体操作方式,此处不进行细讲

  • 相关阅读:
    区块链 - 为何元宇宙上了时代周刊?
    计算机视觉40例之案例13车牌识别
    (220)Verilog HDL:实现摩尔状态机
    数仓工具—Hive源码之SQL解析AntlrWorks的使用(10)
    Redis最全详解(三)——SpringBoot整合2种方式
    cmdline(一):cmdline是什么?&&cmdline怎么添加?
    CentOS7 内核升级
    Verilog 代码题练手(1)
    什么是面向对象编程
    2022 年 10 月 NFT 报告
  • 原文地址:https://blog.csdn.net/qq_52751442/article/details/134081544