python-3.x 使用csv数据的PyTest参数化检验

unhi4e5o  于 2023-01-22  发布在  Python
关注(0)|答案(1)|浏览(195)

在许多带有参数化数据的PyTest脚本示例中,例如

@pytest.mark.parametrize("input1, input2, output", [(5, 5, 10), (7, 5, 12)])
def test_add(input1, input2, output):
    assert input1 + input2 == output, "failed"

然而,对于多个test_方法,我需要在PyTest参数化中获取cvs/xlsx数据。
假设我有一个CSV格式的表
| 输入1|输入2|输出|
| - ------|- ------|- ------|
| 五个|五个|十个|
| 七|五个|十二|
有谁能提出从CSV阅读数据并将其用于上述测试方法的详细解决方案吗?

myzjeezk

myzjeezk1#

您可以尝试使用pytest-csv-params,您可以使用pip install pytest-csv-params进行安装
然后,您可以从csv导入数据,如下所示

from pytest_csv_params.decorator import csv_params

@csv_params(
    data_file="/path to csv/addition.csv",
    data_casts={
        "input1": int,
        "input2": int,
        "output": int,
    },
)
def test_addition(input1, input2, output):
    assert input1+ input2 == output, "failed"

更多信息请访问link

相关问题