【发布时间】:2020-12-15 12:41:12
【问题描述】:
当我从命令行使用列表作为参数运行 pytest 时,我遇到了以下错误..
pytest -vs test_sample.py --html=results.html --A_list=[A1, A2, A3]
错误:找不到文件:A2,
下面是我的 test_sample.py 代码
import pytest
def test_functionality(A_list):
print("element in list: {}".format(A_list))
下面是我的 conftest.py 代码
def pytest_addoption(parser):
parser.addoption("--A_list", action="store", default="default name")
def pytest_generate_tests(metafunc):
option_value = metafunc.config.option.A_list
if 'A_list' in metafunc.fixturenames and option_value is not None:
metafunc.parametrize("A_list", [option_value])
如果我只传递一个像下面这样的元素,这很好用
pytest -vs test_sample.py --html=results.html --A_list=A1
但是,如果我使用如下 A_list 的元素列表运行 pytest,它会失败
pytest -vs test_sample.py --html=results.html --A_list=[A1, A2, A3]
谁能告诉我如何从命令行将列表作为 pytest 参数传递...
【问题讨论】:
标签: python-3.x pytest