Python Glossary English

все Python 3unittestфункция

unittest.skipIf()

пропуск тестов

Декоратор, пропускающий тест, если условие истинно: например, на неподходящей ОС или версии Python.

Синтаксис

@unittest.skipIf(condition, reason)

Условие вычисляется один раз — при определении класса, то есть при импорте модуля, а не перед запуском теста: значение, которое появится в setUp или в другом тесте, оно не увидит. Для проверки во время теста есть self.skipTest(reason). В отличие от skip, причина обязательна — без неё будет TypeError при импорте.

Примеры

import sys
import unittest
class Tests(unittest.TestCase):
    @unittest.skipIf(sys.version_info < (99, 0), 'нужен Python 99')
    def test_future(self):
        pass
    def test_now(self):
        pass
result = unittest.TestResult()
unittest.TestLoader().loadTestsFromTestCase(Tests).run(result)
print(result.testsRun, len(result.skipped))  # → 2 1

См. также

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