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

Модуль носа.tools предоставляет ряд средств тестирования, которые могут оказаться полезными, включая декораторы для ограничения времени выполнения теста и тестирования исключений, а также все те же методы assertX, которые есть в unittest.TestCase.

  • nose.tools.ok_(expr, msg = None) - Сокращение от assert.

  • nose.tools.eq_(a, b, msg = None) - Сокращение для 'assert a == b, «% r! =% R»% (a, b)

  • nose.tools.make_decorator(func) - Обертывает тестовый декоратор, чтобы правильно воспроизводить метаданные декорированной функции, включая дополнительные вещи носа (а именно, настройку и разборку).

  • nose.tools.raises(*exceptions) - Чтобы пройти тест, должно возникнуть одно из ожидаемых исключений.

  • 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 позволяет реализовать вашу собственную схему динамической параметризации или расширения.

Сторонний модуль, «параметризованный», позволяет параметризованное тестирование с любой тестовой средой Python. Его можно скачать по этой ссылке -https://github.com/wolever/nose-parameterized