Improve a test

This commit is contained in:
Sadra Barikbin 2023-07-21 16:53:06 +03:30
parent 81464b3e68
commit 2c270b8fbb
1 changed files with 38 additions and 32 deletions

View File

@ -4538,36 +4538,42 @@ def test_yield_fixture_with_no_value(pytester: Pytester) -> None:
assert result.ret == ExitCode.TESTS_FAILED
@pytest.mark.parametrize("scope", ["module", "package"])
def test_basing_fixture_argkeys_on_param_values_rather_than_on_param_indices(
scope,
pytester: Pytester,
):
pytester.makepyfile(
"""
package = pytester.mkdir("package")
package.joinpath("__init__.py").write_text("")
package.joinpath("test_a.py").write_text(
textwrap.dedent(
f"""\
import pytest
@pytest.fixture(scope='module')
@pytest.fixture(scope='{scope}')
def fixture1(request):
pass
@pytest.mark.parametrize("fixture1",[1, 0],indirect=True)
@pytest.mark.parametrize("fixture1", [1, 0], indirect=True)
def test_0(fixture1):
pass
@pytest.mark.parametrize("fixture1",[2, 1],indirect=True)
@pytest.mark.parametrize("fixture1", [2, 1], indirect=True)
def test_1(fixture1):
pass
def test_2():
pass
@pytest.mark.parametrize("param", [0,1,2], scope='module')
@pytest.mark.parametrize("param", [0, 1, 2], scope='{scope}')
def test_3(param):
pass
@pytest.mark.parametrize("param", [2,1,0], scope='module')
@pytest.mark.parametrize("param", [2, 1, 0], scope='{scope}')
def test_4(param):
pass
"""
),
)
result = pytester.runpytest("--collect-only")
result.stdout.re_match_lines(