关于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中的reduce内建函数使用方法指南
Aug 31 Python
python实现的守护进程(Daemon)用法实例
Jun 02 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
Win10下Python3.7.3安装教程图解
Jul 08 Python
详解Python打包分发工具setuptools
Aug 05 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
对python中arange()和linspace()的区别说明
May 03 Python
Python爬虫基础之爬虫的分类知识总结
May 13 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+javascript实现二级级联菜单的制作
2008/05/06 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
常用的javascript function代码
2008/05/23 Javascript
让IE6支持min-width和max-width的方法
2010/06/25 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
js 实现菜单左右滚动显示示例介绍
2013/11/21 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
javascript截取字符串小结
2015/04/28 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
EasyUi combotree 实现动态加载树节点
2016/04/01 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
详解vue axios中文文档
2017/09/12 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
vue实现验证用户名是否可用
2021/01/20 Vue.js
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
Python的Bottle框架的一些使用技巧介绍
2015/04/08 Python
Python使用tablib生成excel文件的简单实现方法
2016/03/16 Python
python flask 多对多表查询功能
2017/06/25 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
后勤工作职责
2013/12/22 职场文书
物流专业求职计划书
2014/01/10 职场文书
会计职业生涯规划书
2014/01/13 职场文书
中医学专业自荐信范文
2014/04/01 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
基于python实现银行管理系统
2021/04/20 Python
Oracle以逗号分隔的字符串拆分为多行数据实例详解
2021/07/16 Oracle