Pytest 结合数据驱动-csv
案例:
从csv文件中取值判断是否第一二行的值之和等于第三行的值
1.创建对应目录,准备好对应csv文件
2.创建operation.py
def my_add(x,y):
result = x + y
return result
3.创建test_add.py
关键代码:get_csv()
import csv
import pytest
from func.operation import my_add
def get_csv():
"""
return 格式:[[1,1,2],[3,6,9]]
"""
with open('../data/params.csv','r',encoding='utf-8') as file:
#读取csv文件内容
raw = csv.reader(file)
values=[]
for line in raw: #逐行读取出来,读取出来格式为列表
values.append(line) #直接添加每行列表到一个总的列表
print(values)
return values
class TestWithCSV:
@pytest.mark.parametrize('x,y,expected', get_csv()) #用参数化装饰器传参
def test_add(self, x, y, expected):
assert my_add(int(x), int(y)) == int(expected)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)