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)

浙公网安备 33010602011771号