关于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中的Numeric包和Numarray包使用教程
Apr 13 Python
Python functools模块学习总结
May 09 Python
TensorFlow实现卷积神经网络CNN
Mar 09 Python
Python检查和同步本地时间(北京时间)的实现方法
Dec 03 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
Pytorch中膨胀卷积的用法详解
Jan 07 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
python网络编程之五子棋游戏
May 14 Python
python两个list[]相加的实现方法
Sep 23 Python
安装python依赖包psycopg2来调用postgresql的操作
Jan 01 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
解析zend Framework如何自动加载类
2013/06/28 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
php生成圆角图片的方法
2015/04/07 PHP
php实现的农历算法实例
2015/08/11 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
WHOOPS PHP调试库的使用
2017/09/29 PHP
google 搜索框添加关键字实现代码
2010/04/24 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
Sea.JS知识总结
2016/05/05 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
python实现接口并发测试脚本
2019/06/25 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
英国蜡烛、蜡烛配件和家居香氛购买网站:Yankee Candle
2018/12/12 全球购物
保荐人的岗位职责
2013/11/19 职场文书
活动策划邀请函
2014/02/06 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
2014年三万活动总结
2014/04/26 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
大学班干部竞选稿
2015/11/20 职场文书
2016廉洁教育心得体会
2016/01/20 职场文书
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android