关于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函数中定义参数的四种方式
Nov 30 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
django之常用命令详解
Jun 30 Python
Python上下文管理器和with块详解
Sep 09 Python
对python制作自己的数据集实例讲解
Dec 12 Python
Python文件操作中进行字符串替换的方法(保存到新文件/当前文件)
Jun 28 Python
Python如何优雅获取本机IP方法
Nov 10 Python
Django继承自带user表并重写的例子
Nov 18 Python
Python Numpy库常见用法入门教程
Jan 16 Python
python实现井字棋小游戏
Mar 04 Python
PyQt5实现登录页面
May 30 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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
相对路径转化成绝对路径
2007/04/10 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
2016/06/13 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
iphone safari不支持position fixed的解决方法
2012/05/04 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
对javascript继承的理解
2016/10/11 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
微信小程序全局变量功能与用法详解
2019/01/22 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
PyQt5每天必学之工具提示功能
2018/04/19 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
django使用channels实现通信的示例
2020/10/19 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
新西兰床上用品和家居用品购物网站:Adairs
2018/04/27 全球购物
小车司机岗位职责
2013/11/25 职场文书
计算机专业推荐信范文
2013/11/27 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
新农村建设汇报材料
2014/08/15 职场文书
2015年大学生工作总结
2015/04/21 职场文书
pandas中DataFrame重置索引的几种方法
2021/05/24 Python