关于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中的实现
May 04 Python
基于Python对象引用、可变性和垃圾回收详解
Aug 21 Python
python分析作业提交情况
Nov 22 Python
深入浅析python with语句简介
Apr 11 Python
Python3.6连接Oracle数据库的方法详解
May 18 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
使用python的turtle绘画滑稽脸实例
Nov 21 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
Python无损压缩图片的示例代码
Aug 06 Python
python 基于opencv操作摄像头
Dec 24 Python
python使用pymysql模块操作MySQL
Jun 16 Python
Python中第三方库Faker的使用详解
Apr 02 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显示MySQL数据的三种方法
2008/06/05 PHP
php存储过程调用实例代码
2013/02/03 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
Laravel框架FormRequest中重写错误处理的方法
2019/02/18 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
2020/05/26 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
微信小程序 利用css实现遮罩效果实例详解
2017/01/21 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
vant picker+popup 自定义三级联动案例
2020/11/04 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python将图片文件转换成base64编码的方法
2015/03/14 Python
详细解读Python中的__init__()方法
2015/05/02 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
教堂婚礼主持词
2014/03/14 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
mysql创建存储过程及函数详解
2021/12/04 MySQL
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers