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

Sun*_*jha 2 python fixtures pytest

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

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

谢谢苏尼尔

小智 5

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)
Run Code Online (Sandbox Code Playgroud)

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

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