Show fullname on direct Node construction warning
This commit add the fullname on the Node construction warning. Also add a test for this case.
This commit is contained in:
parent
2439729413
commit
59d314de3d
|
@ -123,7 +123,7 @@ class NodeMeta(type):
|
|||
"See "
|
||||
"https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent"
|
||||
" for more details."
|
||||
).format(name=self.__name__)
|
||||
).format(name=f"{self.__module__}.{self.__name__}")
|
||||
fail(msg, pytrace=False)
|
||||
|
||||
def _create(self, *k, **kw):
|
||||
|
|
|
@ -6,6 +6,7 @@ from typing import Type
|
|||
import pytest
|
||||
from _pytest import nodes
|
||||
from _pytest.compat import legacy_path
|
||||
from _pytest.outcomes import OutcomeException
|
||||
from _pytest.pytester import Pytester
|
||||
from _pytest.warning_types import PytestWarning
|
||||
|
||||
|
@ -40,6 +41,19 @@ def test_node_from_parent_disallowed_arguments() -> None:
|
|||
nodes.Node.from_parent(None, config=None) # type: ignore[arg-type]
|
||||
|
||||
|
||||
def test_node_direct_construction_deprecated() -> None:
|
||||
with pytest.raises(
|
||||
OutcomeException,
|
||||
match=(
|
||||
"Direct construction of _pytest.nodes.Node has been deprecated, please "
|
||||
"use _pytest.nodes.Node.from_parent.\nSee "
|
||||
"https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent"
|
||||
" for more details."
|
||||
),
|
||||
):
|
||||
nodes.Node(None, session=None) # type: ignore[arg-type]
|
||||
|
||||
|
||||
def test_subclassing_both_item_and_collector_deprecated(
|
||||
request, tmp_path: Path
|
||||
) -> None:
|
||||
|
|
Loading…
Reference in New Issue