``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