当前位置 : 主页 > 编程语言 > python >

Python中unittest的数据驱动详解

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 前言 一.ddt简单介绍 二.ddt处理各种类型数据 1.分析ddt工作原理 2.ddt测试元祖数据 2.1测试单组元素 2.2测试多组未分解元素 2.3测试多组分解元素 3.ddt测试列表数据 3.1多组列表拆分数
目录
  • 前言
  • 一.ddt简单介绍
  • 二.ddt处理各种类型数据
    • 1.分析ddt工作原理
    • 2.ddt测试元祖数据
      • 2.1测试单组元素
      • 2.2测试多组未分解元素
      •  2.3测试多组分解元素
    •  3.ddt测试列表数据
      • 3.1多组列表拆分数据
      • 3.2复杂列表(含字典)拆分数据
    •  4.ddt测试字典数据
      • 4.1多组字典数据拆分
    •  5.ddt测试字典列表数据结合
      •  6.ddt测试读取文件数据

      前言

      在设计用例的时候,有些用例只是参数数据的输入不一样,比如登录这个功能,操作过程是一样的.如果重复去写操作过程会增加代码量,对应这种多组数据的测试用例,可以用数据驱动设计模式,一组数据对应一个测试用例,用例自动加载生成.

      一.ddt简单介绍

      1.ddt是什么

      ddt:data driver tests ,数据驱动测试,是一种单元测试框架

      2.使用ddt\的好处

      如"前言"所说

      3.导入ddt模块

      ddt属于第三方模块,需要安装,安装方法:

      • 方法一:在cmd命令中输入:pip install ddt
      • 方法二:pycharm中打开终端,输入:pip install ddt

      4.四种模式

      ddt要与unittest单元测试框架一块结合使用

      • @ddt:引入ddt模块
      • @data:导入数据
      • @unpack:拆分数据     
      • @file_data:导入外部数据

      二.ddt处理各种类型数据

      注意:

      • 1.使用ddt模块要在测试类前用@ddt进行修饰
      •  2.要导入测试数据需在测试用例(以test_开头的方法)前用@data修饰
      •  3.若需对测试数据进行拆分需用@unpack修饰
      •  4.若需导入外部数据需用@file_data修饰

      1.分析ddt工作原理

       代码中@data(1,2,“jack”)传入了三个元素,故ddt自动生成了3个测试用用例。分别打印传入的数据

      注意:

      对于没有使用ddt的测试用例来说,一个test_开头的测试方法一次只能生成一个测试用例,但是有了ddt之后,可以一次向测试方法中传入多个测试数据,而生成测试用例的个数是根据@data中传入的测试数据的元素而定的.

      2.ddt测试元祖数据

      2.1测试单组元素

      2.2测试多组未分解元素

       2.3测试多组分解元素

       3.ddt测试列表数据

      3.1多组列表拆分数据

      3.2复杂列表(含字典)拆分数据

       4.ddt测试字典数据

      4.1多组字典数据拆分

       5.ddt测试字典列表数据结合

       在实际应用中会存在数据比较多的情况,如果都直接把数据传入@data中会显得代码非常冗杂,以包含多个字典的列表数据为例,可将包含多个字典的元素存放在一个列表变量中,在@data中传入列表变量即可

       6.ddt测试读取文件数据

      数据格式必须为json,且必须为双引号的键值对形式

      到此这篇关于Python中unittest的数据驱动详解的文章就介绍到这了,更多相关Python unittest 数据驱动内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

      网友评论