pytest中动态参数化夹具时出错

Error in dynamically parametrizing fixtures in pytest

我是运行文档中提到的使用hook动态生成fixture参数的代码pytest_generate_tests代码如下

def test_valid_string(stringinput):
    assert stringinput.isalpha()

def pytest_addoption(parser):
    parser.addoption("--stringinput", action="append", default=[],
        help="list of stringinputs to pass to test functions")

def pytest_generate_tests(metafunc):
    if 'stringinput' in metafunc.fixturenames:
        metafunc.parametrize("stringinput",
                             metafunc.config.getoption('stringinput'))

在执行上述脚本时,出现以下错误

如@hoefling 的评论部分所述,在 conftest.py 中编写挂钩,解决了问题。