pytest
: документация на русском языке¶
Актуальная версия: pytest 5.4.1.
Официальная документация pytest
: https://docs.pytest.org/en/latest/.
Сайт находится в разработке.
pytest
: поможет вашим программам стать лучше!¶
Фреймворк pytest
помогает легко писать небольшие тесты и масштабируется для поддержки
сложного функционального тестирования приложений и библиотек.
Вот пример простого теста:
# content of test_sample.py
def inc(x):
return x + 1
def test_answer():
assert inc(3) == 5
Чтобы запустить его, выполните:
$ 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
, можно использовать
только простые и понятные конструкции.
Больше примеров можно найти тут Установка и начало работы.
Возможности pytest
¶
подробный разбор упавших проверок assert (не нужно помнить имена
self.assert*
);автообнаружение тестовых модулей и функций;
использование модульных фикстур для управления небольшими или параметризованными тестовыми ресурсами;
запуск тестовых наборов, написанных с использованием unittest (включая пробные) и nose;
совместим с Python 3.5+ и PyPy 3;
у
pytest
есть большой набор (315 + внешних плагинов) и процветающее сообщество.
Документация¶
Полная документация: Оглавление.
Баги/Запросы на улучшение¶
Пожалуйста, используйте GitHub issue tracker ,чтобы сообщить о багах
или внести предложения об улучшении pytest
.
Журнал изменений (changelog
)¶
Информация об исправленных багах и улучшениях: журнал изменений.
Поддержка pytest
¶
Open Collective - это онлайн-платформа для финансирования проектов с открытым кодом. Она предоставляет прозрачные инструменты для сбора средств и обмена финансами.
Это платформа выбора для частных лиц и компаний, которые хотят сделать одноразовые или ежемесячные пожертвования непосредственно на проект.
Узнайте больше на pytest collective.
pytest
для предприятий¶
Доступно в рамках подписки на Tidelift.
Разработчики pytest
и тысяч других пакетов работают с Tidelift
, чтобы обеспечить коммерческую поддержку и
обслуживание зависимостей с открытым исходным кодом, которые вы используете для создания своих приложений.
Экономьте время, снижайте риск и улучшайте работоспособность кода, одновременно оплачивая разработчикам
именно те зависимости, которые вы используете.
Безопасность¶
Безопасность никогда не была слабым местом pytest
, однако вы можете использовать
Tidelift security contact, чтобы сообщить о найденной
уязвимости в сфере безопасности. Tidelift
будет координировать обнаружение и исправление таких багов.