关于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二进制串转换为通用字符串的方法
Jul 23 Python
Python变量类型知识点总结
Feb 18 Python
Python实现的删除重复文件或图片功能示例【去重】
Apr 23 Python
python实现最小二乘法线性拟合
Jul 19 Python
wxPython之wx.DC绘制形状
Nov 19 Python
基于pandas中expand的作用详解
Dec 17 Python
Pytorch mask_select 函数的用法详解
Feb 18 Python
python实现udp聊天窗口
Mar 31 Python
Python远程方法调用实现过程解析
Jul 28 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
Sep 30 Python
python开发一款翻译工具
Oct 10 Python
Python爬虫简单运用爬取代理IP的实现
Dec 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
新浪新闻小偷
2006/10/09 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
JavaScript中的prototype使用说明
2010/04/13 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
AngularJS实现select的ng-options功能示例
2017/07/12 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
推荐几个不错的console调试技巧实现
2019/12/20 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
深入理解Python中字典的键的使用
2015/08/19 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
为什么Python中没有"a++"这种写法
2018/11/27 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
Python2与Python3的区别点整理
2019/12/12 Python
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
一份全面的PHP面试问题考卷
2012/07/15 面试题
居委会个人对照检查材料思想汇报
2014/09/29 职场文书
工人先进事迹材料
2014/12/26 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技