:class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the
default ``None`` value), is now deprecated.
+* Deprecated the following :mod:`unittest` functions, scheduled for removal in
+ Python 3.13:
+
+ * :func:`unittest.findTestCases`
+ * :func:`unittest.makeSuite`
+ * :func:`unittest.getTestCaseNames`
+
+ Use :class:`~unittest.TestLoader` method instead:
+
+ * :meth:`unittest.TestLoader.loadTestsFromModule`
+ * :meth:`unittest.TestLoader.loadTestsFromTestCase`
+ * :meth:`unittest.TestLoader.getTestCaseNames`
+
+ (Contributed by Erlend E. Aasland in :issue:`5846`.)
+
Removed
=======
'addModuleCleanup']
# Expose obsolete functions for backwards compatibility
+# bpo-5846: Deprecated in Python 3.11, scheduled for removal in Python 3.13.
__all__.extend(['getTestCaseNames', 'makeSuite', 'findTestCases'])
__unittest = True
from .case import (addModuleCleanup, TestCase, FunctionTestCase, SkipTest, skip,
skipIf, skipUnless, expectedFailure)
from .suite import BaseTestSuite, TestSuite
-from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
- findTestCases)
+from .loader import TestLoader, defaultTestLoader
from .main import TestProgram, main
from .runner import TextTestRunner, TextTestResult
from .signals import installHandler, registerResult, removeResult, removeHandler
# deprecated
_TextTestResult = TextTestResult
+from .loader import (
+ makeSuite as _makeSuite,
+ findTestCases as _findTestCases,
+ getTestCaseNames as _getTestCaseNames,
+)
+
+import warnings
+def makeSuite(*args, **kwargs):
+ warnings.warn(
+ "unittest.makeSuite() is deprecated and will be removed in Python 3.13. "
+ "Please use unittest.TestLoader.loadTestsFromTestCase() instead.",
+ DeprecationWarning, stacklevel=2
+ )
+ return _makeSuite(*args, **kwargs)
+
+def getTestCaseNames(*args, **kwargs):
+ warnings.warn(
+ "unittest.getTestCaseNames() is deprecated and will be removed in Python 3.13. "
+ "Please use unittest.TestLoader.getTestCaseNames() instead.",
+ DeprecationWarning, stacklevel=2
+ )
+ return _getTestCaseNames(*args, **kwargs)
+
+def findTestCases(*args, **kwargs):
+ warnings.warn(
+ "unittest.findTestCases() is deprecated and will be removed in Python 3.13. "
+ "Please use unittest.TestLoader.loadTestsFromModule() instead.",
+ DeprecationWarning, stacklevel=2
+ )
+ return _findTestCases(*args, **kwargs)
+
# There are no tests here, so don't try to run anything discovered from
# introspecting the symbols (e.g. FunctionTestCase). Instead, all our
# tests come from within unittest.test.