From 348068ccad91074ddcc8f26f3c4412afcbf66c6f Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 7 Dec 2024 19:45:34 -0300 Subject: [PATCH] Add FixtureDefDict type alias --- src/_pytest/fixtures.py | 5 ++++- src/_pytest/python.py | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/_pytest/fixtures.py b/src/_pytest/fixtures.py index 1b301b125b4..454a1e52a6c 100644 --- a/src/_pytest/fixtures.py +++ b/src/_pytest/fixtures.py @@ -95,6 +95,9 @@ # The parameters that a fixture function receives. FixtureParams = ParamSpec("FixtureParams") +# A dict of fixture name -> its FixtureDef. +FixtureDefDict: TypeAlias = dict[str, "FixtureDef[Any]"] + # The type of fixture function (type alias generic in fixture params and value). _FixtureFunc: TypeAlias = Union[ Callable[FixtureParams, FixtureValue], @@ -370,7 +373,7 @@ def __init__( pyfuncitem: Function, fixturename: str | None, arg2fixturedefs: dict[str, Sequence[FixtureDef[Any]]], - fixture_defs: dict[str, FixtureDef[Any]], + fixture_defs: FixtureDefDict, *, _ispytest: bool = False, ) -> None: diff --git a/src/_pytest/python.py b/src/_pytest/python.py index 85e3cb0ae71..f17a696799a 100644 --- a/src/_pytest/python.py +++ b/src/_pytest/python.py @@ -51,6 +51,7 @@ from _pytest.config.argparsing import Parser from _pytest.deprecated import check_ispytest from _pytest.fixtures import FixtureDef +from _pytest.fixtures import FixtureDefDict from _pytest.fixtures import FixtureRequest from _pytest.fixtures import FuncFixtureInfo from _pytest.fixtures import get_scope_node @@ -1085,7 +1086,7 @@ def get_direct_param_fixture_func(request: FixtureRequest) -> Any: # Used for storing pseudo fixturedefs for direct parametrization. -name2pseudofixturedef_key = StashKey[dict[str, FixtureDef[Any]]]() +name2pseudofixturedef_key = StashKey[FixtureDefDict]() @final @@ -1271,7 +1272,7 @@ def parametrize( if node is None: name2pseudofixturedef = None else: - default: dict[str, FixtureDef[Any]] = {} + default: FixtureDefDict = {} name2pseudofixturedef = node.stash.setdefault( name2pseudofixturedef_key, default )