如何传递从pytest参数化fixture中的命令行参数获取参数的函数?我这样做是因为取决于部门,我从yaml文件中获取相关测试,我希望将其传递给参数化
test_run.py
def getTests(dept):
for dept_test in dept_test_info[dept]["test"]:
allowed_tests.append(dept_test)
return allowed_tests
@pytest.mark.parametrize("test",getTests(dept))
但我希望在运行pytest时dept作为命令行参数出现
python pytest test\u run.py--dept=“anydept”
这个问题有两个答案:
您可以使用环境变量将参数传递给测试代码
你根本不应该这样做。理想情况下,测试不应该依赖于更改值,除非测试代码本身正在创建它们(使用random()或类似的方法是可以的,但测试用户传递的不是随机参数)。相反,让您的测试代码包含您要测试的所有部门:
相关问题 更多 >
编程相关推荐