Pytest 结合数据驱动-excel
官方文档
https://openpyxl.readthedocs.io/en/stable/
案例:
从excel文件中取值判断是否第一二行的值之和等于第三行的值
1.创建对应目录,准备好对应excel文件
2.创建operation.py
def my_add(x,y):
result = x + y
return result
3.创建test_add.py
关键代码:get_excel()
import openpyxl
import pytest
from func.operation import my_add
def get_excel():
"""
:return: 需要返回格式[[1,1,2],[3,6,9]]
"""
#获取工作簿和工作表
book = openpyxl.load_workbook("../data/params.xlsx")
sheet = book.active
#读取数据
cells = sheet["A1":"C3"]
print(cells)
values= []
#逐行取出数据,并将每行数据添加到values
for row in cells:
data = []
for cell in row:
data.append(cell.value)
values.append(data)
print(values)
return values
class TestWithEXCEL:
@pytest.mark.parametrize('x,y,expected', get_excel())
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)