Python Glossary English

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

unittest.TestResult

запуск тестов

Объект, в который раннер складывает итоги прогона: сколько тестов запущено, какие упали, какие с ошибкой, какие пропущены.

Синтаксис

result = unittest.TestResult()
suite.run(result)
result.wasSuccessful()

failures и errors — разные списки: в failures попадают упавшие проверки (AssertionError), в errors — любые другие исключения, например опечатка в имени или ZeroDivisionError. Элементы — пары (тест, текст трассировки) строкой, а не объекты исключений. wasSuccessful() возвращает False и при «неожиданном успехе» теста с @expectedFailure, так что смотреть только на failures недостаточно.

Примеры

import unittest
class Tests(unittest.TestCase):
    def test_fail(self):
        self.assertEqual(1, 2)
    def test_error(self):
        1 / 0
    def test_ok(self):
        pass
result = unittest.TestResult()
unittest.TestLoader().loadTestsFromTestCase(Tests).run(result)
print(result.testsRun, len(result.failures), len(result.errors))  # → 3 1 1
print(result.errors[0][0].id())  # → __main__.Tests.test_error
print(result.wasSuccessful())  # → False

См. также

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

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