``pytest``: документация на русском языке ================================================================================= Актуальная версия: **pytest 5.4.1**. Официальная документация ``pytest``: ``_. Сайт находится в разработке. .. _features: ``pytest``: поможет вашим программам стать лучше! ---------------------------------------------------- Фреймворк ``pytest`` помогает легко писать небольшие тесты и масштабируется для поддержки сложного функционального тестирования приложений и библиотек. Вот пример простого теста: .. code-block:: python # content of test_sample.py def inc(x): return x + 1 def test_answer(): assert inc(3) == 5 Чтобы запустить его, выполните: .. code-block:: pytest $ pytest =========================== test session starts ============================ platform linux -- Python 3.x.y, pytest-5.x.y, py-1.x.y, pluggy-0.x.y cachedir: $PYTHON_PREFIX/.pytest_cache rootdir: $REGENDOC_TMPDIR collected 1 item test_sample.py F [100%] ================================= FAILURES ================================= _______________________________ test_answer ________________________________ def test_answer(): > assert inc(3) == 5 E assert 4 == 5 E + where 4 = inc(3) test_sample.py:6: AssertionError ============================ 1 failed in 0.12s ============================= Поскольку ``pytest`` детально анализирует результат выполнения оператора ``assert``, можно использовать только простые и понятные конструкции. Больше примеров можно найти тут :ref:`Установка и начало работы `. Возможности ``pytest`` ------------------------- - подробный разбор упавших проверок :ref:`assert ` (не нужно помнить имена ``self.assert*``); - :ref:`автообнаружение ` тестовых модулей и функций; - использование :ref:`модульных фикстур ` для управления небольшими или параметризованными тестовыми ресурсами; - запуск тестовых наборов, написанных с использованием :ref:`unittest ` (включая пробные) и :ref:`nose `; - совместим с Python 3.5+ и PyPy 3; - у ``pytest`` есть большой набор (315 + `внешних плагинов `_) и процветающее сообщество. Документация ------------- Полная документация: :ref:`Оглавление `. Баги/Запросы на улучшение --------------------------- Пожалуйста, используйте `GitHub issue tracker `_ ,чтобы сообщить о багах или внести предложения об улучшении ``pytest``. Журнал изменений (``changelog``) ---------------------------------- Информация об исправленных багах и улучшениях: :ref:`журнал изменений `. Поддержка ``pytest`` --------------------- `Open Collective`_ - это онлайн-платформа для финансирования проектов с открытым кодом. Она предоставляет прозрачные инструменты для сбора средств и обмена финансами. Это платформа выбора для частных лиц и компаний, которые хотят сделать одноразовые или ежемесячные пожертвования непосредственно на проект. Узнайте больше на `pytest collective`_. .. _Open Collective: https://opencollective.com .. _pytest collective: https://opencollective.com/pytest ``pytest`` для предприятий --------------------------- Доступно в рамках подписки на `Tidelift `_. Разработчики ``pytest`` и тысяч других пакетов работают с ``Tidelift``, чтобы обеспечить коммерческую поддержку и обслуживание зависимостей с открытым исходным кодом, которые вы используете для создания своих приложений. Экономьте время, снижайте риск и улучшайте работоспособность кода, одновременно оплачивая разработчикам именно те зависимости, которые вы используете. `Подробнее `_ Безопасность ^^^^^^^^^^^^^ Безопасность никогда не была слабым местом ``pytest``, однако вы можете использовать `Tidelift security contact `_, чтобы сообщить о найденной уязвимости в сфере безопасности. ``Tidelift`` будет координировать обнаружение и исправление таких багов. Лицензия --------- Copyright Holger Krekel and others, 2004-2020. Распространяемый в соответствии с условиями лицензии `MIT`_ , ``pytest`` является бесплатным программным обеспечением с открытым исходным кодом. .. _`MIT`: https://github.com/pytest-dev/pytest/blob/master/LICENSE