Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb2b035a

Browse files
bpo-5846: Fix deprecations for obsolete unittest functions and add tests. (GH-28382)
1 parent7733195 commitb2b035a

File tree

3 files changed

+69
-30
lines changed

3 files changed

+69
-30
lines changed

‎Lib/unittest/__init__.py

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -66,40 +66,11 @@ def testMultiply(self):
6666
from .runnerimportTextTestRunner,TextTestResult
6767
from .signalsimportinstallHandler,registerResult,removeResult,removeHandler
6868
# IsolatedAsyncioTestCase will be imported lazily.
69+
from .loaderimportmakeSuite,getTestCaseNames,findTestCases
6970

7071
# deprecated
7172
_TextTestResult=TextTestResult
7273

73-
from .loaderimport (
74-
makeSuiteas_makeSuite,
75-
findTestCasesas_findTestCases,
76-
getTestCaseNamesas_getTestCaseNames,
77-
)
78-
79-
importwarnings
80-
defmakeSuite(*args,**kwargs):
81-
warnings.warn(
82-
"unittest.makeSuite() is deprecated and will be removed in Python 3.13. "
83-
"Please use unittest.TestLoader.loadTestsFromTestCase() instead.",
84-
DeprecationWarning,stacklevel=2
85-
)
86-
return_makeSuite(*args,**kwargs)
87-
88-
defgetTestCaseNames(*args,**kwargs):
89-
warnings.warn(
90-
"unittest.getTestCaseNames() is deprecated and will be removed in Python 3.13. "
91-
"Please use unittest.TestLoader.getTestCaseNames() instead.",
92-
DeprecationWarning,stacklevel=2
93-
)
94-
return_getTestCaseNames(*args,**kwargs)
95-
96-
deffindTestCases(*args,**kwargs):
97-
warnings.warn(
98-
"unittest.findTestCases() is deprecated and will be removed in Python 3.13. "
99-
"Please use unittest.TestLoader.loadTestsFromModule() instead.",
100-
DeprecationWarning,stacklevel=2
101-
)
102-
return_findTestCases(*args,**kwargs)
10374

10475
# There are no tests here, so don't try to run anything discovered from
10576
# introspecting the symbols (e.g. FunctionTestCase). Instead, all our

‎Lib/unittest/loader.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,9 @@ def _find_test_path(self, full_path, pattern, namespace=False):
494494
defaultTestLoader=TestLoader()
495495

496496

497+
# These functions are considered obsolete for long time.
498+
# They will be removed in Python 3.13.
499+
497500
def_makeLoader(prefix,sortUsing,suiteClass=None,testNamePatterns=None):
498501
loader=TestLoader()
499502
loader.sortTestMethodsUsing=sortUsing
@@ -504,14 +507,32 @@ def _makeLoader(prefix, sortUsing, suiteClass=None, testNamePatterns=None):
504507
returnloader
505508

506509
defgetTestCaseNames(testCaseClass,prefix,sortUsing=util.three_way_cmp,testNamePatterns=None):
510+
importwarnings
511+
warnings.warn(
512+
"unittest.getTestCaseNames() is deprecated and will be removed in Python 3.13. "
513+
"Please use unittest.TestLoader.getTestCaseNames() instead.",
514+
DeprecationWarning,stacklevel=2
515+
)
507516
return_makeLoader(prefix,sortUsing,testNamePatterns=testNamePatterns).getTestCaseNames(testCaseClass)
508517

509518
defmakeSuite(testCaseClass,prefix='test',sortUsing=util.three_way_cmp,
510519
suiteClass=suite.TestSuite):
520+
importwarnings
521+
warnings.warn(
522+
"unittest.makeSuite() is deprecated and will be removed in Python 3.13. "
523+
"Please use unittest.TestLoader.loadTestsFromTestCase() instead.",
524+
DeprecationWarning,stacklevel=2
525+
)
511526
return_makeLoader(prefix,sortUsing,suiteClass).loadTestsFromTestCase(
512527
testCaseClass)
513528

514529
deffindTestCases(module,prefix='test',sortUsing=util.three_way_cmp,
515530
suiteClass=suite.TestSuite):
531+
importwarnings
532+
warnings.warn(
533+
"unittest.findTestCases() is deprecated and will be removed in Python 3.13. "
534+
"Please use unittest.TestLoader.loadTestsFromModule() instead.",
535+
DeprecationWarning,stacklevel=2
536+
)
516537
return_makeLoader(prefix,sortUsing,suiteClass).loadTestsFromModule(\
517538
module)

‎Lib/unittest/test/test_loader.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1591,5 +1591,52 @@ class Foo(unittest.TestCase):
15911591
self.assertEqual(loader.getTestCaseNames(Foo),test_names)
15921592

15931593

1594+
classTestObsoleteFunctions(unittest.TestCase):
1595+
classMyTestSuite(unittest.TestSuite):
1596+
pass
1597+
1598+
classMyTestCase(unittest.TestCase):
1599+
defcheck_1(self):pass
1600+
defcheck_2(self):pass
1601+
deftest(self):pass
1602+
1603+
@staticmethod
1604+
defreverse_three_way_cmp(a,b):
1605+
returnunittest.util.three_way_cmp(b,a)
1606+
1607+
deftest_getTestCaseNames(self):
1608+
withself.assertWarns(DeprecationWarning)asw:
1609+
tests=unittest.getTestCaseNames(self.MyTestCase,
1610+
prefix='check',sortUsing=self.reverse_three_way_cmp,
1611+
testNamePatterns=None)
1612+
self.assertEqual(w.warnings[0].filename,__file__)
1613+
self.assertEqual(tests, ['check_2','check_1'])
1614+
1615+
deftest_makeSuite(self):
1616+
withself.assertWarns(DeprecationWarning)asw:
1617+
suite=unittest.makeSuite(self.MyTestCase,
1618+
prefix='check',sortUsing=self.reverse_three_way_cmp,
1619+
suiteClass=self.MyTestSuite)
1620+
self.assertEqual(w.warnings[0].filename,__file__)
1621+
self.assertIsInstance(suite,self.MyTestSuite)
1622+
expected=self.MyTestSuite([self.MyTestCase('check_2'),
1623+
self.MyTestCase('check_1')])
1624+
self.assertEqual(suite,expected)
1625+
1626+
deftest_findTestCases(self):
1627+
m=types.ModuleType('m')
1628+
m.testcase_1=self.MyTestCase
1629+
1630+
withself.assertWarns(DeprecationWarning)asw:
1631+
suite=unittest.findTestCases(m,
1632+
prefix='check',sortUsing=self.reverse_three_way_cmp,
1633+
suiteClass=self.MyTestSuite)
1634+
self.assertEqual(w.warnings[0].filename,__file__)
1635+
self.assertIsInstance(suite,self.MyTestSuite)
1636+
expected= [self.MyTestSuite([self.MyTestCase('check_2'),
1637+
self.MyTestCase('check_1')])]
1638+
self.assertEqual(list(suite),expected)
1639+
1640+
15941641
if__name__=="__main__":
15951642
unittest.main()

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp