【发布时间】:2021-11-08 11:58:07
【问题描述】:
我已经编写了这个简单的参数化夹具
@pytest.fixture(params=[
pytest.lazy_fixture("client_a"),
pytest.lazy_fixture("client_b"),
pytest.lazy_fixture("client_c"),
])
def client_all(request):
return request.param
放入测试文件时它可以完美运行。当我将其移至 conftest.py 时,结果是:
加载 conftest 时出现 ImportError '/project/tests/conftest.py'。 conftest.py:181: 在 ??? E AttributeError: 模块 'pytest' 没有属性 'lazy_fixture'
显然调试 pytest 的插件管理器是不可行的,但我注意到 pytest-lazy-fixture 中的 pytest_configure 函数在我收到此错误时从未被调用,但它确实在夹具工作时被调用,所以问题一定是当列表插件已加载。我希望它与其他一些 pytest 选项发生一些奇怪的冲突,但我不知道如何从这里继续前进。
请注意,该插件在整个项目的其他文件中使用,但仅用于参数化单个测试,而不是作为固定参数。
【问题讨论】: