Учебники

Тестирование носа — Инструменты

Модуль 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