все 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Сообщить о неточности