关于pytest结合csv模块实现csv格式的数据驱动问题


Posted in Python onMay 30, 2022

一、什么是数据驱动测试

DDT:data drive test
准备一组数据,通过写一个测试用例,不同的数据进行迭代。

二、csv文件承载数据

CSV:Comma Separated Values

csv文件就是逗号分隔的文本文件。
使用python中的csv模块来处理csv文件
结合pygtest的参数化处理方式来实现ddt

三、csv数据驱动示例

首先创建一个csv的file:

zhangsan,lisi,wangwu
tom,rose,lili

然后创建一个test_csv.py模块

# -*- coding: utf-8 -*-
# @Time: 2022/5/29 4:20 下午
# @Author: wcystart
# @File: test_csv.py
# @description:
import pytest
import csv
def get_data():
    with open("test.csv") as f:
        lst = csv.reader(f)
        my_data = []
        for row in lst:
            my_data.extend(row) 
        return my_data
@pytest.mark.parametrize('name', get_data())
def test01(name):
    print(name)
if __name__ == '__main__':
   pytest.main(['-vs', 'test_csv.py'])
运行结果;
test_csv.py::test01[zhangsan] zhangsan
PASSED
test_csv.py::test01[lisi] lisi
PASSED
test_csv.py::test01[wangwu] wangwu
PASSED
test_csv.py::test01[tom] tom
PASSED
test_csv.py::test01[rose] rose
PASSED
test_csv.py::test01[lili] lili
PASSED

到此这篇关于pytest结合csv模块实现csv格式的数据驱动的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python实现保存网页到本地示例
Mar 16 Python
Python中的zipfile模块使用详解
Jun 25 Python
Python生成随机验证码的两种方法
Dec 22 Python
python和pygame实现简单俄罗斯方块游戏
Feb 19 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
python中open函数的基本用法示例
Sep 07 Python
python:动态路由的Flask程序代码
Nov 22 Python
节日快乐! Python画一棵圣诞树送给你
Dec 24 Python
Python通过4种方式实现进程数据通信
Mar 12 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
在服务器上安装python3.8.2环境的教程详解
Apr 26 Python
Python中的协程(Coroutine)操作模块(greenlet、gevent)
May 30 #Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 #Python
Python实现仓库管理系统
May 30 #Python
python单向链表实例详解
May 25 #Python
利用Python实现模拟登录知乎
May 25 #Python
python双向链表实例详解
May 25 #Python
Python实现双向链表基本操作
May 25 #Python
You might like
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
JavaScript 题型问答有答案参考
2010/02/17 Javascript
js函数模拟显示桌面.scf程序示例
2014/04/20 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
原生js实现弹幕效果
2020/11/29 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
python TKinter获取文本框内容的方法
2018/10/11 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
美国工业用品采购网站:Zoro.com
2020/10/27 全球购物
教你打造完美的创业计划书
2014/01/06 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
安全演讲稿开场白
2014/08/25 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle