在Pytest中使用excel对测试进行参数化

时间:2018-08-21 14:26:48

标签: python pytest fixtures

我是Python的新手,在Pytest中很少编写测试。我现在想使用excel或csv表格参数化我的测试,以将数据传递给测试方法。

我找不到任何帮助。您能帮我解决这个问题还是参考一下任何链接。

谢谢 苏尼尔

2 个答案:

答案 0 :(得分:4)

https://docs.pytest.org/en/latest/parametrize.html

尝试编写一个函数以从excel或CSV中检索“数据”列表。然后,您可以像这样利用参数化功能:

def get_data():
    # Retrieve values from CSV
    return ['value1', 'value2', 'value3']

@pytest.mark.parametrize("value", get_data())
def test_sample(self, value):
    print(value)

此示例将生成3个测试,并将从get_data()返回的每个元素作为值传递。

注意:请查看CSV https://docs.python.org/3.6/library/csv.html上的文档,以获取有关如何打开CSV文件并将值转换为列表的帮助。

答案 1 :(得分:0)

一般思路是使用parametrized test

例如,您可以添加带有输入文件名的输入参数