2017-08-08 26 views
1

我在嘗試利用這裏列出的PyTest文檔中的alternative approach。我parametrize裝飾調用如下pytest找不到pytest.fixture_request

@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

我怎樣才能解決這個問題,讓我可以利用「替代方法」上述文檔中列出?

回答

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')