MCPcopy
hub / github.com/pytest-dev/pytest / Metafunc

Method Metafunc

testing/python/metafunc.py:32–62  ·  view source on GitHub ↗
(self, func, config=None)

Source from the content-addressed store, hash-verified

30
31class TestMetafunc:
32 def Metafunc(self, func, config=None) -> python.Metafunc:
33 # The unit tests of this class check if things work correctly
34 # on the funcarg level, so we don't need a full blown
35 # initialization.
36 class FuncFixtureInfoMock:
37 name2fixturedefs: dict[str, list[fixtures.FixtureDef[object]]] = {}
38
39 def __init__(self, names):
40 self.names_closure = names
41
42 @dataclasses.dataclass
43 class FixtureManagerMock:
44 config: Any
45
46 @dataclasses.dataclass
47 class SessionMock:
48 config: Any
49 _fixturemanager: FixtureManagerMock
50 nodeid: ClassVar = ""
51
52 @dataclasses.dataclass
53 class DefinitionMock(python.FunctionDefinition):
54 _nodeid: str
55 obj: object
56
57 names = getfuncargnames(func)
58 fixtureinfo: Any = FuncFixtureInfoMock(names)
59 definition: Any = DefinitionMock._create(obj=func, _nodeid="mock::nodeid")
60 definition._fixtureinfo = fixtureinfo
61 definition.session = SessionMock(config, FixtureManagerMock({}))
62 return python.Metafunc(definition, fixtureinfo, config, _ispytest=True)
63
64 def test_no_funcargs(self) -> None:
65 def function():

Calls 5

getfuncargnamesFunction · 0.90
FuncFixtureInfoMockClass · 0.85
SessionMockClass · 0.85
FixtureManagerMockClass · 0.85
_createMethod · 0.80