Полная документация по pytest¶
Download latest version as PDF
Начните здесь¶
Руководства по эксплуатации¶
- Как вызвать pytest
- Как писать и сообщать об утверждениях в тестах
- Как использовать приспособления
- «Требующие» приспособления
- Автоматические светильники (светильники, которые не нужно запрашивать)
- Область применения: совместное использование приспособлений между классами, модулями, пакетами или сессией
- Разборка/очистка (она же доработка приспособлений)
- Безопасные разрывы
- Безопасное выполнение нескольких операторов
assert
- Приспособления могут исследовать запрашивающий тестовый контекст
- Использование маркеров для передачи данных приспособлениям
- Фабрики как приспособления
- Параметризация приспособлений
- Использование меток с параметризованными приспособлениями
- Модульность: использование приспособлений из функции приспособления
- Автоматическая группировка тестов по экземплярам приспособлений
- Используйте фиксаторы в классах и модулях с помощью
usefixtures
. - Переопределение приспособлений на различных уровнях
- Использование приспособлений из других проектов
- Как пометить тестовые функции атрибутами
- Как параметризировать приспособления и тестовые функции
- Как использовать временные каталоги и файлы в тестах
- Как использовать модули и окружения monkeypatch/mock
- Как выполнять доктесты
- Как повторно запускать неудачные тесты и сохранять состояние между запусками тестов
- Как управлять лесозаготовками
- Как перехватить вывод stdout/stderr
- Как фиксировать предупреждения
- Контроль предупреждений
@pytest.mark.filterwarnings
- Отключение сводки предупреждений
- Полное отключение перехвата предупреждений
- DeprecationWarning и PendingDeprecationWarning
- Обеспечение срабатывания предупреждения об устаревании кода
- Утверждение предупреждений с помощью функции warns
- Запись предупреждений
- Дополнительные случаи использования предупреждений в тестах
- Пользовательские сообщения о сбоях
- Внутренние предупреждения pytest
- Предупреждения о ресурсах
- Как использовать skip и xfail для работы с тестами, которые не могут быть успешными
- Как устанавливать и использовать плагины
- Написание плагинов
- Порядок открытия плагина при запуске инструмента
- conftest.py: локальные плагины для каждого каталога
- Написание собственного плагина
- Сделать ваш плагин доступным для установки другим пользователям
- Переписывание утверждений
- Требование/загрузка плагинов в тестовый модуль или файл conftest
- Доступ к другому плагину по имени
- Регистрация пользовательских маркеров
- Тестирование плагинов
- Написание крючковых функций
- проверка и выполнение функций крючка
- firstresult: остановка на первом результате, не являющемся None
- hookwrapper: выполнение вокруг других крючков
- Заказ функции крючка / пример вызова
- Объявление новых крючков
- Использование крючков в pytest_addoption
- По желанию можно использовать хуки из сторонних плагинов
- Хранение данных об элементах через функции hook
- Как использовать pytest с существующим набором тестов
- Как использовать тесты на основе
unittest
в pytest - Как запускать тесты, написанные для nose
- Как реализовать настройку в стиле xunit
- Как настроить завершение работы bash
Справочные руководства¶
Пояснение¶
Дополнительные темы¶
- Примеры и приемы настройки
- Политика обратной совместимости
- История
- Поддержка версий Python
- Амортизация и удаление
- Руководство по развитию
- Спонсор
- pytest для предприятия
- Лицензия
- Контактные каналы
- История
- Исторические заметки
- Реконструкция и итерация маркеров
- плагин кэша, интегрированный в ядро
- фанкарги и
pytest_funcarg__
. @pytest.yield_fixture
декоратор[pytest]
заголовок вsetup.cfg
- Применение меток к параметрам
@pytest.mark.parametrize
@pytest.mark.parametrize
имена аргументов в виде кортежа- setup: теперь является «приспособлением для автодоводки».
- Условия в виде строк вместо булевых значений
pytest.set_trace()
- свойства «compat»
- Беседы и учебные пособия