Merge pull request #8399 from atzannes/master
closes #8394 Generated fixture names for unittest/xunit/nose should start with underscore
This commit is contained in:
parent
6e7dc8bac8
commit
19a2f7425d
|
@ -0,0 +1 @@
|
|||
Use private names for internal fixtures that handle classic setup/teardown so that they don't show up with the default ``--fixtures`` invocation (but they still show up with ``--fixtures -v``).
|
|
@ -528,7 +528,7 @@ class Module(nodes.File, PyCollector):
|
|||
autouse=True,
|
||||
scope="module",
|
||||
# Use a unique name to speed up lookup.
|
||||
name=f"xunit_setup_module_fixture_{self.obj.__name__}",
|
||||
name=f"_xunit_setup_module_fixture_{self.obj.__name__}",
|
||||
)
|
||||
def xunit_setup_module_fixture(request) -> Generator[None, None, None]:
|
||||
if setup_module is not None:
|
||||
|
@ -557,7 +557,7 @@ class Module(nodes.File, PyCollector):
|
|||
autouse=True,
|
||||
scope="function",
|
||||
# Use a unique name to speed up lookup.
|
||||
name=f"xunit_setup_function_fixture_{self.obj.__name__}",
|
||||
name=f"_xunit_setup_function_fixture_{self.obj.__name__}",
|
||||
)
|
||||
def xunit_setup_function_fixture(request) -> Generator[None, None, None]:
|
||||
if request.instance is not None:
|
||||
|
@ -809,7 +809,7 @@ class Class(PyCollector):
|
|||
autouse=True,
|
||||
scope="class",
|
||||
# Use a unique name to speed up lookup.
|
||||
name=f"xunit_setup_class_fixture_{self.obj.__qualname__}",
|
||||
name=f"_xunit_setup_class_fixture_{self.obj.__qualname__}",
|
||||
)
|
||||
def xunit_setup_class_fixture(cls) -> Generator[None, None, None]:
|
||||
if setup_class is not None:
|
||||
|
@ -838,7 +838,7 @@ class Class(PyCollector):
|
|||
autouse=True,
|
||||
scope="function",
|
||||
# Use a unique name to speed up lookup.
|
||||
name=f"xunit_setup_method_fixture_{self.obj.__qualname__}",
|
||||
name=f"_xunit_setup_method_fixture_{self.obj.__qualname__}",
|
||||
)
|
||||
def xunit_setup_method_fixture(self, request) -> Generator[None, None, None]:
|
||||
method = request.function
|
||||
|
|
|
@ -144,7 +144,7 @@ def _make_xunit_fixture(
|
|||
scope=scope,
|
||||
autouse=True,
|
||||
# Use a unique name to speed up lookup.
|
||||
name=f"unittest_{setup_name}_fixture_{obj.__qualname__}",
|
||||
name=f"_unittest_{setup_name}_fixture_{obj.__qualname__}",
|
||||
)
|
||||
def fixture(self, request: FixtureRequest) -> Generator[None, None, None]:
|
||||
if _is_skipped(self):
|
||||
|
|
|
@ -211,6 +211,50 @@ def test_nose_style_setup_teardown(pytester: Pytester) -> None:
|
|||
result.stdout.fnmatch_lines(["*2 passed*"])
|
||||
|
||||
|
||||
def test_fixtures_nose_setup_issue8394(pytester: Pytester) -> None:
|
||||
pytester.makepyfile(
|
||||
"""
|
||||
def setup_module():
|
||||
pass
|
||||
|
||||
def teardown_module():
|
||||
pass
|
||||
|
||||
def setup_function(func):
|
||||
pass
|
||||
|
||||
def teardown_function(func):
|
||||
pass
|
||||
|
||||
def test_world():
|
||||
pass
|
||||
|
||||
class Test(object):
|
||||
def setup_class(cls):
|
||||
pass
|
||||
|
||||
def teardown_class(cls):
|
||||
pass
|
||||
|
||||
def setup_method(self, meth):
|
||||
pass
|
||||
|
||||
def teardown_method(self, meth):
|
||||
pass
|
||||
|
||||
def test_method(self): pass
|
||||
"""
|
||||
)
|
||||
match = "*no docstring available*"
|
||||
result = pytester.runpytest("--fixtures")
|
||||
assert result.ret == 0
|
||||
result.stdout.no_fnmatch_line(match)
|
||||
|
||||
result = pytester.runpytest("--fixtures", "-v")
|
||||
assert result.ret == 0
|
||||
result.stdout.fnmatch_lines([match, match, match, match])
|
||||
|
||||
|
||||
def test_nose_setup_ordering(pytester: Pytester) -> None:
|
||||
pytester.makepyfile(
|
||||
"""
|
||||
|
|
|
@ -302,6 +302,30 @@ def test_setup_setUpClass(pytester: Pytester) -> None:
|
|||
reprec.assertoutcome(passed=3)
|
||||
|
||||
|
||||
def test_fixtures_setup_setUpClass_issue8394(pytester: Pytester) -> None:
|
||||
pytester.makepyfile(
|
||||
"""
|
||||
import unittest
|
||||
class MyTestCase(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
pass
|
||||
def test_func1(self):
|
||||
pass
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
pass
|
||||
"""
|
||||
)
|
||||
result = pytester.runpytest("--fixtures")
|
||||
assert result.ret == 0
|
||||
result.stdout.no_fnmatch_line("*no docstring available*")
|
||||
|
||||
result = pytester.runpytest("--fixtures", "-v")
|
||||
assert result.ret == 0
|
||||
result.stdout.fnmatch_lines(["*no docstring available*"])
|
||||
|
||||
|
||||
def test_setup_class(pytester: Pytester) -> None:
|
||||
testpath = pytester.makepyfile(
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue