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