Python Glossary English

все Python 3unittestпонятие

unittest.TestCase

тестирование

Базовый класс для тест-кейсов. Каждый метод, начинающийся с test_, запускается как отдельный тест. Предоставляет методы assert* для проверки результатов.

Синтаксис

class MyTests(unittest.TestCase):
    def test_something(self): ...

Для каждого метода test_ создаётся отдельный экземпляр класса, поэтому передать состояние из одного теста в другой через self не выйдет — общее готовят в setUp или setUpClass. Порядок запуска — алфавитный по имени метода, а не по порядку в файле, так что ни один тест не должен рассчитывать, что другой уже отработал. Проверять лучше через self.assertEqual, а не голым assert: он печатает оба значения при падении и не исчезает при запуске Python с -O.

Примеры

import unittest
class MathTests(unittest.TestCase):
    def test_sum(self):
        self.assertEqual(1 + 1, 2)
    def test_type(self):
        self.assertIsInstance(42, int)
if __name__ == '__main__':  # на уровне модуля, а не внутри класса
    unittest.main()  # → Ran 2 tests ... OK

См. также

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