关于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复制与引用用法分析
Apr 08 Python
socket + select 完成伪并发操作的实例
Aug 15 Python
解读! Python在人工智能中的作用
Nov 14 Python
python使用sqlite3时游标使用方法
Mar 13 Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
Python+Pyqt实现简单GUI电子时钟
Feb 22 Python
python2与python3爬虫中get与post对比解析
Sep 18 Python
详解Python3迁移接口变化采坑记
Oct 11 Python
Python with语句和过程抽取思想
Dec 23 Python
Python实现曲线拟合的最小二乘法
Feb 19 Python
Python实现聚类K-means算法详解
Jul 15 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 中文和编码判断代码
2010/05/16 PHP
php修改时间格式的代码
2011/05/29 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php readfile下载大文件失败的解决方法
2017/05/22 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
css 元素选择器的简单实例
2016/05/23 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
最新大学生自我评价
2013/09/24 职场文书
大型演出策划方案
2014/05/28 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
家长通知书家长意见
2015/06/03 职场文书
小学信息技术教学反思
2016/02/16 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书