IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> ddt与@pytest.mark.parametrize传入字典参数化例子 -> 正文阅读

[开发测试]ddt与@pytest.mark.parametrize传入字典参数化例子

yaml数据:

introduce:
   -
     name: 'A'
     age: '20'
     job: '测试工程师'
   -
     name: 'B'
     age: '20'
     job: '开发工程师'

interface:
  -
    url: 'www.baidu.com'
    headers : {'Content-Type': 'application/json'}
    body: {'quest_ids': xxx}

  - url: 'https://www.csdn.net/'
    headers: { 'Content-Type': 'application/json' }
    body: { 'quest_ids': yyy }

脚本:

import yaml
import pytest
import unittest
import ddt

with open('./ex.yaml', encoding='utf-8') as allData:
    data = yaml.load(allData.read(), Loader=yaml.FullLoader)
introduce = data.get('introduce')
interface = data.get('interface')


@pytest.mark.parametrize('data', introduce)
class TestCase1(object):
    def test_01(self, data):
        print(f'\nname:{data.get("name")}\n'
              f'age:{data.get("age")}\n'
              f'job:{data.get("job")}')


@ddt.ddt()
class TestCase2(unittest.TestCase):
    @ddt.data(*interface)
    @ddt.unpack
    def test_task_template(self, url, headers, body):
        print(f'\nurl:{url}\n'
              f'headers:{headers}\n'
              f'body:{body}')
E:\ex\venv\Scripts\python.exe "E:\pycharm\PyCharm Community Edition 2020.3.5\plugins\python-ce\helpers\pycharm\_jb_pytest_runner.py" --path E:/ex/test_ex.py
Testing started at 14:00 ...
Launching pytest with arguments E:/ex/test_ex.py in E:\ex

============================= test session starts =============================
platform win32 -- Python 3.8.2, pytest-6.2.4, py-1.10.0, pluggy-0.13.1 -- E:\ex\venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: E:\ex
collecting ... collected 4 items

test_ex.py::TestCase1::test_01[data0] PASSED                             [ 25%]
name:A
age:20
job:测试工程师

test_ex.py::TestCase1::test_01[data1] PASSED                             [ 50%]
name:B
age:20
job:开发工程师

test_ex.py::TestCase2::test_task_template_1 PASSED                       [ 75%]
url:www.baidu.com
headers:{'Content-Type': 'application/json'}
body:{'quest_ids': 'xxx'}

test_ex.py::TestCase2::test_task_template_2 PASSED                       [100%]
url:https://www.csdn.net/
headers:{'Content-Type': 'application/json'}
body:{'quest_ids': 'yyy'}


============================== 4 passed in 0.03s ==============================

Process finished with exit code 0
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-11 12:44:27  更:2021-08-11 12:45:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/1 6:11:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码