我是Python的新手,在Pytest中很少编写测试。我现在想使用excel或csv表格参数化我的测试,以将数据传递给测试方法。
我找不到任何帮助。您能帮我解决这个问题还是参考一下任何链接。
谢谢 苏尼尔
答案 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。
例如,您可以添加带有输入文件名的输入参数