Spec-Zone.ru › pytest

pytest: помогает писать более качественные программы

Фреймворк pytest упрощает написание небольших понятных тестов и может масштабироваться для поддержки сложного функционального тестирования приложений и библиотек.

Имя пакета PyPI: 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-9.x.y, pluggy-1.x.y
rootdir: /home/sweet/project
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
========================= short test summary info ==========================
FAILED test_sample.py::test_answer - assert 4 == 5
============================ 1 failed in 0.12s =============================

Благодаря подробной интроспекции утверждений в pytest используются только обычные инструкции assert. Основные сведения об использовании pytest см. в разделе Начало работы.

Возможности

  • Подробная информация о неудачных инструкциях assert (не нужно запоминать имена self.assert*)
  • Автоматическое обнаружение тестовых модулей и функций
  • Модульные фикстуры для управления небольшими или параметризованными долгоживущими тестовыми ресурсами
  • Может из коробки запускать тестовые наборы unittest (включая trial)
  • Python 3.10+ или PyPy 3
  • Богатая архитектура плагинов: более 1300 внешних плагинов и активное сообщество

Документация

  • Начало работы — установка pytest и изучение основ всего за двадцать минут
  • Практические руководства — пошаговые инструкции, охватывающие широкий спектр сценариев и задач
  • Справочные руководства — полная справочная документация по API pytest, списки плагинов и многое другое
  • Объяснения — общие сведения, обсуждение ключевых тем и ответы на вопросы высокого уровня

Ошибки и запросы

Сообщайте об ошибках и запрашивайте новые возможности в системе отслеживания задач на GitHub.

Поддержать pytest

Open Collective — это онлайн-платформа финансирования открытых и прозрачных сообществ. Она предоставляет инструменты для сбора средств и полной прозрачности финансов.

Это предпочтительная платформа для частных лиц и компаний, желающих делать разовые или ежемесячные пожертвования непосредственно проекту.

Подробнее см. на странице коллектива pytest.

pytest для предприятий

Доступно в рамках подписки Tidelift.

Сопровождающие pytest и тысячи других пакетов сотрудничают с Tidelift, чтобы предоставлять коммерческую поддержку и обслуживание зависимостей с открытым исходным кодом, которые вы используете для создания приложений. Экономьте время, снижайте риски и улучшайте качество кода, поддерживая сопровождающих именно тех зависимостей, которые вы используете.

Подробнее.

Безопасность

Если вы обнаружили проблему, которая, по вашему мнению, является уязвимостью безопасности, не создавайте задачу — вместо этого сообщите о ней, создав новое уведомление о проблеме безопасности.

© 2015–2026 Holger Krekel and pytest-dev team
Licensed under the MIT License.
https://docs.pytest.org/en/stable/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API