关于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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python解析树及树的遍历
Feb 03 Python
Python数据结构之顺序表的实现代码示例
Nov 15 Python
详解python函数传参是传值还是传引用
Jan 16 Python
Python实现Kmeans聚类算法
Jun 10 Python
python使用PyQt5的简单方法
Feb 27 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 Python
python 获取域名到期时间的方法步骤
Feb 10 Python
Django项目如何正确配置日志(logging)
Apr 29 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 Python
python 闭包函数详细介绍
Apr 19 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 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
ftp类(myftp.php)
2006/10/09 PHP
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
php5与php7的区别点总结
2019/10/11 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
javascript中的循环语句for语句深入理解
2014/04/04 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
2017/08/08 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
python中pygame模块用法实例
2014/10/09 Python
Python通过future处理并发问题
2017/10/17 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Python3.5文件修改操作实例分析
2019/05/01 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
DNA基因检测和分析:23andMe
2019/05/01 全球购物
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
上海期货面试题
2014/01/31 面试题
策划助理岗位职责
2013/11/18 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android