Будет полезно для новичков и не только - чтобы основные опции были под рукой.

Начну с базы. Все команды этого фреймворка начинаются со слова pytest .

Остальное тут:

Опция

Зачем нужна

--collect-only

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

-k "name"

Используется для фильтрации тестов по имени. С помощью этого параметра можно указать часть имени теста или метки, и pytest выполнит только те тесты, которые соответствуют указанному шаблону.

-m "mark"

Используется для фильтрации тестов по меткам (markers). С помощью этого параметра можно указать метку, и pytest выполнит только те тесты, которые имеют указанную метку.

-x

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

--maxfail=N

Используется для остановки выполнения тестов после N неудач. Это означает, что если N тестов завершатся с ошибками, pytest прекратит выполнение оставшихся тестов и выведет отчет о произошедших ошибках.

--lf

Используется для повторного запуска только тех тестов, которые не прошли в последнем запуске. Это может быть полезно, когда нужно быстро проверить и исправить только те тесты, которые ранее завершились с ошибками, без необходимости запускать все тесты заново.

--ff

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

-v

Используется для увеличения уровня детализации вывода во время выполнения тестов. При использовании этой команды pytest будет выводить более подробную информацию о каждом тесте, включая его имя и статус (успех или неудача). Это позволяет легче отслеживать, какие тесты были выполнены и какие из них не прошли, что может быть полезно для отладки и анализа результатов тестирования.

-q

Используется для уменьшения уровня детализации вывода во время выполнения тестов. При использовании этой команды pytest будет выводить только минимально необходимую информацию, что позволяет сосредоточиться на основных результатах тестирования, таких как количество пройденных и неудачных тестов, без дополнительных деталей о каждом тесте.

-l

Используется для отображения локальных переменных в выводе при возникновении ошибки в тестах. Когда тест не проходит, эта команда позволяет увидеть значения локальных переменных в момент сбоя, что может значительно упростить процесс отладки и помочь быстрее выявить причину ошибки.

--tb=<style>

Используется для настройки формата трассировки (traceback) при возникновении ошибок в тестах. Параметр <style> может принимать различные значения, такие как autolongshortline, и другие, которые определяют, как именно будет отображаться информация об ошибках.

auto (по умолчанию): использует длинный формат трассировки для первой и последней записи, а короткий для остальных.

long : предоставляет исчерпывающую и информативную трассировку.

short : выводит более компактную информацию.

line : отображает трассировку в виде одной строки.

--durations=N

Используется для отображения времени выполнения тестов, где N — это количество самых медленных тестов, которые нужно увидеть в отчете. Это особенно полезно для оптимизации тестов и улучшения общего времени их выполнения.

--version

Используется для отображения текущей версии установленного фреймворка pytest, что может быть полезно для проверки совместимости с другими библиотеками или для диагностики проблем.

Если понадобится, таблица может пополняться =)

Комментарии (1)


  1. Andrey_Solomatin
    04.10.2024 10:14

    Главную забыли

    pytest --help