Metafunc: remove hack for DefinitionMock (#6223)
This commit is contained in:
commit
b4ff6b3672
|
@ -9,6 +9,7 @@ from collections import Counter
|
|||
from collections.abc import Sequence
|
||||
from functools import partial
|
||||
from textwrap import dedent
|
||||
from typing import List
|
||||
from typing import Tuple
|
||||
|
||||
import py
|
||||
|
@ -894,11 +895,14 @@ class Metafunc:
|
|||
test function is defined.
|
||||
"""
|
||||
|
||||
def __init__(self, definition, fixtureinfo, config, cls=None, module=None):
|
||||
assert (
|
||||
isinstance(definition, FunctionDefinition)
|
||||
or type(definition).__name__ == "DefinitionMock"
|
||||
)
|
||||
def __init__(
|
||||
self,
|
||||
definition: "FunctionDefinition",
|
||||
fixtureinfo,
|
||||
config,
|
||||
cls=None,
|
||||
module=None,
|
||||
) -> None:
|
||||
self.definition = definition
|
||||
|
||||
#: access to the :class:`_pytest.config.Config` object for the test session
|
||||
|
@ -916,7 +920,7 @@ class Metafunc:
|
|||
#: class object where the test function is defined in or ``None``.
|
||||
self.cls = cls
|
||||
|
||||
self._calls = []
|
||||
self._calls = [] # type: List[CallSpec2]
|
||||
self._arg2fixturedefs = fixtureinfo.name2fixturedefs
|
||||
|
||||
@property
|
||||
|
|
|
@ -12,7 +12,7 @@ from _pytest import python
|
|||
|
||||
|
||||
class TestMetafunc:
|
||||
def Metafunc(self, func, config=None):
|
||||
def Metafunc(self, func, config=None) -> python.Metafunc:
|
||||
# the unit tests of this class check if things work correctly
|
||||
# on the funcarg level, so we don't need a full blown
|
||||
# initialization
|
||||
|
@ -23,7 +23,7 @@ class TestMetafunc:
|
|||
self.names_closure = names
|
||||
|
||||
@attr.s
|
||||
class DefinitionMock:
|
||||
class DefinitionMock(python.FunctionDefinition):
|
||||
obj = attr.ib()
|
||||
|
||||
names = fixtures.getfuncargnames(func)
|
||||
|
|
Loading…
Reference in New Issue