Do the change
This commit is contained in:
parent
e403bbf1a9
commit
e700e667e6
|
@ -682,9 +682,12 @@ class TopRequest(FixtureRequest):
|
||||||
|
|
||||||
def _fillfixtures(self) -> None:
|
def _fillfixtures(self) -> None:
|
||||||
item = self._pyfuncitem
|
item = self._pyfuncitem
|
||||||
for argname in item.fixturenames:
|
fixturenames = getattr(item, "fixturenames", self.fixturenames)
|
||||||
if argname not in item.funcargs:
|
initialnames = item._fixtureinfo.initialnames
|
||||||
item.funcargs[argname] = self.getfixturevalue(argname)
|
for argname in fixturenames:
|
||||||
|
value = self.getfixturevalue(argname)
|
||||||
|
if argname not in item.funcargs and argname in initialnames:
|
||||||
|
item.funcargs[argname] = value
|
||||||
|
|
||||||
def addfinalizer(self, finalizer: Callable[[], object]) -> None:
|
def addfinalizer(self, finalizer: Callable[[], object]) -> None:
|
||||||
self.node.addfinalizer(finalizer)
|
self.node.addfinalizer(finalizer)
|
||||||
|
|
|
@ -9,7 +9,6 @@ from _pytest.config import ExitCode
|
||||||
from _pytest.fixtures import deduplicate_names
|
from _pytest.fixtures import deduplicate_names
|
||||||
from _pytest.fixtures import TopRequest
|
from _pytest.fixtures import TopRequest
|
||||||
from _pytest.monkeypatch import MonkeyPatch
|
from _pytest.monkeypatch import MonkeyPatch
|
||||||
from _pytest.pytester import get_public_names
|
|
||||||
from _pytest.pytester import Pytester
|
from _pytest.pytester import Pytester
|
||||||
from _pytest.python import Function
|
from _pytest.python import Function
|
||||||
|
|
||||||
|
@ -128,8 +127,7 @@ class TestFillFixtures:
|
||||||
assert isinstance(item, Function)
|
assert isinstance(item, Function)
|
||||||
# Execute's item's setup, which fills fixtures.
|
# Execute's item's setup, which fills fixtures.
|
||||||
item.session._setupstate.setup(item)
|
item.session._setupstate.setup(item)
|
||||||
del item.funcargs["request"]
|
assert len(item.funcargs) == 2
|
||||||
assert len(get_public_names(item.funcargs)) == 2
|
|
||||||
assert item.funcargs["some"] == "test_func"
|
assert item.funcargs["some"] == "test_func"
|
||||||
assert item.funcargs["other"] == 42
|
assert item.funcargs["other"] == 42
|
||||||
|
|
||||||
|
@ -841,8 +839,7 @@ class TestRequestBasic:
|
||||||
val2 = req.getfixturevalue("other") # see about caching
|
val2 = req.getfixturevalue("other") # see about caching
|
||||||
assert val2 == 2
|
assert val2 == 2
|
||||||
assert item.funcargs["something"] == 1
|
assert item.funcargs["something"] == 1
|
||||||
assert len(get_public_names(item.funcargs)) == 2
|
assert len(item.funcargs) == 1
|
||||||
assert "request" in item.funcargs
|
|
||||||
|
|
||||||
def test_request_addfinalizer(self, pytester: Pytester) -> None:
|
def test_request_addfinalizer(self, pytester: Pytester) -> None:
|
||||||
item = pytester.getitem(
|
item = pytester.getitem(
|
||||||
|
|
Loading…
Reference in New Issue