我正在尝试使用PyTest文档中列出的alternative approach。我的parametrize
装饰者调用看起来像这样
@pytest.mark.parametrize("val1, params, result", [
('a string', pytest.fixture_request('valid_type'), 150)
])
但是,当我运行pytest
时,我收到以下错误:
test_get_responses.py:102: in <module>
('a string', pytest.fixture_request('valid_type'), 150)
E AttributeError: 'module' object has no attribute 'fixture_request'
valid_type
夹具确实存在。
我正在运行pytest版本3.2.0
如何解决这个问题,以便我可以利用“替代方法”来解决这个问题。在上面的文档中列出?
答案 0 :(得分:2)
所描述的方法只是尚未实施的提案(正如您在本讨论中所见:https://github.com/pytest-dev/pytest/issues/349#issuecomment-286451346)。要解决此问题,您可以使用包pytest-lazy-fixture
(可以与pip
一起安装):而不是pytest.fixture_request('fixture_name')
,只需使用pytest.lazy_fixture('fixture_name')
。