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)

 

posted @   lms21  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示