MCPcopy Create free account
hub / github.com/pytest-dev/pytest / _getnextfixturedef

Method _getnextfixturedef

src/_pytest/fixtures.py:470–487  ·  view source on GitHub ↗
(self, argname: str)

Source from the content-addressed store, hash-verified

468 return self._getscopeitem(self._scope)
469
470 def _getnextfixturedef(self, argname: str) -> "FixtureDef[Any]":
471 fixturedefs = self._arg2fixturedefs.get(argname, None)
472 if fixturedefs is None:
473 # We arrive here because of a dynamic call to
474 # getfixturevalue(argname) usage which was naturally
475 # not known at parsing/collection time.
476 assert self._pyfuncitem.parent is not None
477 parentid = self._pyfuncitem.parent.nodeid
478 fixturedefs = self._fixturemanager.getfixturedefs(argname, parentid)
479 # TODO: Fix this type ignore. Either add assert or adjust types.
480 # Can this be None here?
481 self._arg2fixturedefs[argname] = fixturedefs # type: ignore[assignment]
482 # fixturedefs list is immutable so we maintain a decreasing index.
483 index = self._arg2index.get(argname, 0) - 1
484 if fixturedefs is None or (-index > len(fixturedefs)):
485 raise FixtureLookupError(argname, self)
486 self._arg2index[argname] = index
487 return fixturedefs[index]
488
489 @property
490 def config(self) -> Config:

Callers 1

Calls 3

FixtureLookupErrorClass · 0.85
getfixturedefsMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected