-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Scope of parameterized fixture doesn't work #12086
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I believe there was a fix for this in the 8 series We should warn better about implicit indirect parameters having different scopes |
I just tried with the latest version |
Thank you for posting, @gjambaisivanandham. I'm new to pytest as well so I am interested in exploring and understanding your issue. These may be silly remarks coming from my ignorance of session scope but:
Is this the fixture usage your are expecting from import pytest
@pytest.fixture(scope='session')
def my_fixture(request):
"""I am being used."""
pass
@pytest.mark.parametrize('my_fixture', ['a','b'], indirect=True)
def test_scenario_1(my_fixture):
pass
@pytest.mark.parametrize('my_fixture', ['a','b'])
def test_scenario_2(my_fixture):
pass Fixture usage: $ pytest file.py --fixtures-per-test
-------------------------- fixtures used by test_scenario_1[a] ---------------------------
-------------------------------------- (file.py:10) --------------------------------------
my_fixture -- file.py:4
I am being used.
-------------------------- fixtures used by test_scenario_1[b] ---------------------------
-------------------------------------- (file.py:10) --------------------------------------
my_fixture -- file.py:4
I am being used.
-------------------------- fixtures used by test_scenario_2[a] ---------------------------
-------------------------------------- (file.py:14) --------------------------------------
my_fixture -- src/_pytest/python.py:1113
no docstring available
-------------------------- fixtures used by test_scenario_2[b] ---------------------------
-------------------------------------- (file.py:14) --------------------------------------
my_fixture -- src/_pytest/python.py:1113
no docstring available
Thank you again, @gjambaisivanandham! |
I am fairly new to pytest and I see that scope of a parameterized fixture is not working.
Here is an example of the fixture and the test:
Tests
When I run the tests I see the API responses printed 4 times(twice for
a
parameter and twice forb
parameter). I was expecting it to be printed just twice(once for both the parameters -a
andb
) since both the tests use same set of parameters and the fixed is scopedsession
. Obviously, if I don't parameterize the fixture the api response is printed once. Pytest version is7.4.2
The text was updated successfully, but these errors were encountered: