Методы утверждения Unittest assert в Python
Обзор методов утверждения unittest assert в Python
Класс TestCase модуля unittest в Python предоставляет вам большое количество методов утверждения для выполнения модульного тестирования. В следующей таблице показаны наиболее часто используемые методы утверждения:
Метод | Проверяет, что |
---|---|
assertEqual(x, y, msg=None) | х == у |
AssertNotEqual(x, y, msg =None) | х != у |
AssertTrue(х, msg =None) | bool(x) True |
AssertFalse(х, msg =None) | bool(x) имеет значение False |
AssertIs(x, y, msg=None) | х это у |
AssertIsNot(x, y, msg=None) | х не у |
AssertIsNone(х, msg=None) | х — None |
AssertIsNotNone(x, msg=None) | x не имеет значения «None» |
AssertIn(x, y, msg=None) | х в у |
AssertNotIn(x, y, msg=None) | х не в у |
AssertIsInstance(x, y, msg=None) | isinstance(x, y) |
AssertNotIsInstance(x, y, msg=None) | not isinstance(x, y) |
Все эти методы имеют необязательный параметр msg, тип которого является строкой. Сообщение будет отображаться в результатах теста, если тест не пройден.
Следующие методы утверждения проверяют исключения, предупреждения и сообщения журнала:
Метод | Проверяет, что |
---|---|
AssertRaises(exc, fun, *args, **kwds) | fun(*args, **kwds) повышает exc. |
AssertRaisesRegex(exc, r, fun, *args, **kwds) | fun(*args, **kwds) вызывает exc, и сообщение соответствует регулярному выражению r. |
AssertWarns(warn, fun, *args, **kwds) | fun(*args, **kwds) выдает предупреждение |
AssertWarnsRegex(warn, r, fun, *args, **kwds) | fun(*args, **kwds) выдает предупреждение, и сообщение соответствует регулярному выражению r |
AssertLogs(logger, level) | Блокировка журналов на регистраторе с минимальным уровнем |
AssertNoLogs(logger, level) | Блок with не осуществляет вход в регистратор с минимальным уровнем |
В следующей таблице показаны методы утверждения, которые выполняют более конкретные проверки:
Метод | Проверяет, что |
---|---|
assertAlmostEqual(x, y) | round(x-y, 7) == 0 |
assertNotAlmostEqual(x, y) | round(x-y, 7) != 0 |
assertGreater(x, y) | х > у |
AssertGreaterEqual(x, y) | х >= у |
AssertLess(х, у) | х < у |
AssertLessEqual(х, у) | х <= у |
AssertRegex(s, r) | r.search(s) |
AssertNotRegex(s, r) | not r.search(s) |
AssertCountEqual(х, у) | x и y имеют одинаковое количество элементов в одном и том же числе. |
В следующих уроках вы более подробно узнаете о методах утверждения unittest и о том, как их эффективно использовать.