Open dtomas opened 6 years ago
linking https://github.com/pytest-dev/pytest/issues/349#issuecomment-428680193 as it has some more details on the problem
I think I have same problem. Specified fixture as argument for pytest.mark.usefixture
will be ignored if this specified fixture has params
.
import pytest
@pytest.fixture
def data():
return dict()
@pytest.fixture(params=[1, 2])
def add_data(request, data):
data['a'] = request.param
@pytest.mark.usefixtures('add_data')
@pytest.fixture
def completed_data(data):
data['b'] = 3
return data
def test_data(completed_data):
assert 'a' in completed_data
I expect add_data
must be executed before start completing completed_data
but it does not.
Also it work (how am I expect) if specify add_data
in define of completed_data
:
@pytest.fixture
def completed_data(data, add_data):
data['b'] = 3
return data
Please say me if I'm wrong.
marks on fixtures are NOT supported and won't be
linking #349 (comment) as it has some more details on the problem
Just for reference, here is the code @dtomas linked to in their original comment: https://github.com/pytest-dev/pytest/blob/3.9.0/src/_pytest/python.py#L418-L421
Posting this link here since @dtomas's original comment didn't pin the code link to a specific git version or hash. It now points to some unrelated code.
It looks like that there is still no support on adding pytest.mark.usefixtures
to marks
of pytest.param
. Are there any news on that?
@DenisKuplyakov I'm not aware of anyone working on this. If there were any news, they would likely be in this issue.
Hey guys, do we have any updates on it?
@vyahello see the comment right above yours. I'm not sure what you're trying to achieve by asking the same thing again a month later...
Adding Fixtures to a parametrization of a test function via
pytest.mark.usefixtures
has no effect. The fixtures are not executed and are missing fromrequest.fixturenames
.Example: