2017-08-08 1 views
1

J'essaie d'utiliser le alternative approach répertorié dans la documentation PyTest ici. Mon décorateur parametrize appel ressemble à cepytest ne peut pas trouver pytest.fixture_request

@pytest.mark.parametrize("val1, params, result", [ 
    ('a string', pytest.fixture_request('valid_type'), 150) 

]) 

Cependant, quand je lance pytest je reçois l'erreur suivante:

test_get_responses.py:102: in <module> 
    ('a string', pytest.fixture_request('valid_type'), 150) 
E AttributeError: 'module' object has no attribute 'fixture_request' 

Le luminaire valid_type n'existe.

Je courais version 3.2.0 pytest

Comment puis-je résoudre ce problème, afin que je puisse utiliser la « méthode alternative » figurant dans la documentation ci-dessus?

Répondre

2

L'approche décrite est seulement une proposition qui n'a pas encore été implémentée (comme vous pouvez le voir dans cette discussion: https://github.com/pytest-dev/pytest/issues/349#issuecomment-286451346). Comme une solution de contournement, vous pouvez utiliser le package pytest-lazy-fixture (peut être installé avec pip): au lieu de pytest.fixture_request('fixture_name') il suffit d'utiliser pytest.lazy_fixture('fixture_name').