Python Glossary English

все Python 3до 3.13unittestфункция

unittest.makeSuite()

удалено

Собирала набор тестов из класса TestCase. Удалена в Python 3.13 — используйте TestLoader().loadTestsFromTestCase().

Синтаксис

unittest.makeSuite(MyTest)  # до 3.13

Старый помощник makeSuite(MyTest) находил в классе методы test_* и складывал их в TestSuite. Убрали его, потому что он дублировал TestLoader и не знал его новых настроек. Как переписать: unittest.makeSuite(MyTest) меняется на unittest.TestLoader().loadTestsFromTestCase(MyTest); если передавали prefix='check', сначала задайте loader.testMethodPrefix = 'check'. Готовый набор запускается как прежде — unittest.TextTestRunner().run(suite).

Примеры

# Python 3.13+
import unittest
try:
    unittest.makeSuite
except AttributeError as e:
    print(type(e).__name__)  # → AttributeError
# Python 3.13+
import unittest
class MathTest(unittest.TestCase):
    def test_add(self):
        self.assertEqual(1 + 1, 2)
    def test_mul(self):
        self.assertEqual(2 * 3, 6)
suite = unittest.TestLoader().loadTestsFromTestCase(MathTest)
print(suite.countTestCases())  # → 2
import unittest
class MathTest(unittest.TestCase):
    def test_add(self):
        self.assertEqual(1 + 1, 2)
    def test_mul(self):
        self.assertEqual(2 * 3, 6)
suite = unittest.makeSuite(MathTest)
print(suite.countTestCases())  # → 2

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности