Python Glossary English

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

unittest.FunctionTestCase

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

Обёртка, превращающая обычную функцию в тест-кейс unittest: так старые тесты-функции можно запускать раннером без переписывания в классы.

Синтаксис

unittest.FunctionTestCase(testFunc, setUp=None, tearDown=None, description=None)

Внутри функции нет self, а значит нет и self.assertEqual: проверять приходится голым assert, который при запуске python -O исчезает вместе с проверкой. Падение assert считается провалом (failure), любое другое исключение — ошибкой (error). Это мост для переноса старого кода; новые тесты удобнее писать подклассом TestCase.

Примеры

import unittest
def check_sum():
    assert sum([1, 2, 3]) == 6
def check_upper():
    assert 'a'.upper() == 'a'
suite = unittest.TestSuite([unittest.FunctionTestCase(check_sum), unittest.FunctionTestCase(check_upper)])
result = unittest.TestResult()
suite.run(result)
print(result.testsRun, len(result.failures), len(result.errors))  # → 2 1 0

См. также

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

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