首页 > 编程语言 >python的ddt

python的ddt

时间:2022-11-19 11:16:04浏览次数:43  
标签:item python 测试数据 ddt 用例 expected data

作用

把测试数据和用例代码进行分离,通过外部数据去生成测试用例,方便后期的维护,以及测试数据的管理

底层原理

1、保存测试数据
2、遍历测试数据,生成测试方法

ddt的使用步骤:

1、测试类前面使用@ddt
2、在测试方法前使用@list_ddt(测试数据)
3、在测试方法中定义一个参数,用例接收用例数据
注意点:如果要给测试用例添加用例描述:需要在测试数据中添加一个title(desc)字段(测试数据需要是字典类型)

import unittest
from unittestreport import ddt, list_data

cases = [
    {'desc': "登录成功", 'expected': {"code": 0, "msg": "登录成功"},
     "params": {'username': "python35", "password": "lemonban"}},
    {'title': "XXX成功", 'expected': {"code": 0, "msg": "登录成功"},
     "params": {'username': "python35", "password": "lemonban"}}
]


@ddt
class TestLogin(unittest.TestCase):

    @list_data(cases)
    def test_login(self, item):
        # 准备用例数据
        data = item["params"]
        expected = item["expected"]
        # 调用被测的函数,获取实际结果
        res = login_check(**data) # login_check 指被调用的函数
        # 断言
        self.assertEqual(expected, res)

标签:item,python,测试数据,ddt,用例,expected,data
From: https://www.cnblogs.com/nikeairball/p/16905650.html

相关文章

  • python 3 open() default encoding
    python3open()defaultencoding回答1ThedefaultUTF-8encodingofPython3onlyextendstobyte->strconversions.open()insteadusesyourenvironmenttoc......
  • How to run python interactive in current file's directory in Visual Studio Code?
    Howtorunpythoninteractiveincurrentfile'sdirectoryinVisualStudioCode?问题Whenexecuting"RunSelection/LineinPythonTerminal"commandinVSCod......
  • [oeasy]python0017_解码_decode_字节序列_bytes_字符串_str
    ​ 解码decode回忆上次内容code就是码最早也指电报码后来有各种编码、密码、砝码、条码都指的是把各种事物编个号encode就是编码编码就是给事物编个号......
  • python感知机
    感知机是一种二类分类的线性分类器,属于判别模型(另一种是生成模型)。简单地说,就是通过输入特征,利用超平面,将目标分为两类。感知机是神经网络和支持向量机的基础。现实过程如......
  • PythonAnywhere 部署Flas项目
    一、注册账号官网:https://www.pythonanywhere.com/ 二、将GitHub上的项目发送至PythonAnywhere三、配置环境及运行gitclonehttps://github.com/chao-yua......
  • HOG算法的理解与python实现
    HOG称为方向梯度直方图(HistogramofOrientedGradient),主要是为了对图像进行特征提取。所以在传统目标检测算法中经常与SVM结合用于行人识别任务(当前都是基于深度学习来做......
  • python学习笔记(二)
    一、数据类型python里面直接auto了,跟c有很大不同,基本上由编译器自动检测赋值内容,但也可以手动确定。 只不过有挺多其他的函数很方便var1=100var2=200var3=300......
  • Python全部内置函数详细认识(上篇)
    ......
  • python第八章实验报告
    一、实验目的1.认识及学习模块的使用2.学会自定义模块,引用其他模块3.认识python中的包4.学会以主程序运行模块二、实验环境python版本:3.10(64-bit)三、实验内容 1......
  • python利用JPype1调用jar包
    目录环境安装JPype1环境window11python3.8++安装JPype1安装方法①自己创建一个requirements.txt文件,文件内容为JPype1-py3==0.5.5.4pip==19.0.3setuptools==40.8.......