Модуль nose.tools предоставляет ряд вспомогательных средств тестирования, которые могут оказаться полезными, включая декораторы для ограничения времени выполнения теста и тестирования на исключения, и все те же методы assertX, что и в unittest.TestCase.
-
nose.tools.ok_ (expr, msg = None) — Сокращение для утверждения.
-
nose.tools.eq_ (a, b, msg = None) — Сокращение для «assert a == b,«% r! =% r »% (a, b)
-
nose.tools.make_decorator (func) — Оборачивает тестовый декоратор для правильной репликации метаданных оформленной функции, включая дополнительные элементы носа (а именно, установку и разбор).
-
nose.tools.raises (* исключения) — тест должен вызвать одно из ожидаемых исключений для прохождения.
-
nose.tools.timed (limit) — Тест должен завершиться в течение указанного времени, чтобы пройти
-
nose.tools.istest (func) — Декоратор, чтобы пометить функцию или метод как тест
-
nose.tools.nottest (func) — Декоратор, чтобы пометить функцию или метод как не тест
nose.tools.ok_ (expr, msg = None) — Сокращение для утверждения.
nose.tools.eq_ (a, b, msg = None) — Сокращение для «assert a == b,«% r! =% r »% (a, b)
nose.tools.make_decorator (func) — Оборачивает тестовый декоратор для правильной репликации метаданных оформленной функции, включая дополнительные элементы носа (а именно, установку и разбор).
nose.tools.raises (* исключения) — тест должен вызвать одно из ожидаемых исключений для прохождения.
nose.tools.timed (limit) — Тест должен завершиться в течение указанного времени, чтобы пройти
nose.tools.istest (func) — Декоратор, чтобы пометить функцию или метод как тест
nose.tools.nottest (func) — Декоратор, чтобы пометить функцию или метод как не тест
Параметризованное тестирование
Среда тестирования Python, unittest, не имеет простого способа запуска параметризованных тестовых случаев. Другими словами, вы не можете легко передать аргументы в unittest.TestCase извне.
Однако порты модуля pytest тестируют параметризацию несколькими хорошо интегрированными способами —
-
pytest.fixture () позволяет вам определять параметризацию на уровне функций фикстуры .
-
@ pytest.mark.parametrize позволяет определять параметризацию на уровне функции или класса. Он предоставляет несколько наборов аргументов / фиксаторов для конкретной тестовой функции или класса.
-
pytest_generate_tests позволяет реализовать вашу собственную схему динамической параметризации или расширения.
pytest.fixture () позволяет вам определять параметризацию на уровне функций фикстуры .
@ pytest.mark.parametrize позволяет определять параметризацию на уровне функции или класса. Он предоставляет несколько наборов аргументов / фиксаторов для конкретной тестовой функции или класса.
pytest_generate_tests позволяет реализовать вашу собственную схему динамической параметризации или расширения.
Сторонний модуль «параметризованный нос» позволяет проводить параметризованное тестирование с помощью любой среды тестирования Python. Его можно скачать по этой ссылке — https://github.com/wolever/nose-parameterized