pytest.ini
Форматы файлов конфигурации
Многие настройки pytest можно задать в файле конфигурации , который по соглашению находится в корневом каталоге вашего репозитория или в папке с вашими тестами.
Краткий пример файлов конфигурации, поддерживаемый pytest:
addopts
addopts
Добавьте указанное OPTS
в набор аргументов командной строки, как если бы они были указаны пользователем. Пример: если у вас есть содержимое этого ini-файла:
выдача на самом деле означает:pytest test_hello.py
По умолчанию параметры не добавляются.
В нашей системе в базовый pytest.ini файл в строку addopts добавлены
--alluredir
- для сохранения отчётов Allure по умолчанию
--reruns
- для перезапуска упавших тестов
filterwarnings
filterwarnings
Задает список фильтров и действий, которые следует предпринять для совпадающих предупреждений. По умолчанию все предупреждения, выдаваемые во время тестового сеанса, будут отображаться в сводке в конце тестового сеанса.
Это говорит pytest игнорировать предупреждения об устаревании и превращать все остальные предупреждения в ошибки. Дополнительную информацию см. в разделе «Захват предупреждений» .
junit_family
junit_family
Новое в версии 4.2.
Изменено в версии 6.1: значение по умолчанию изменено на xunit2
.
Настраивает формат сгенерированного XML-файла JUnit. Возможные варианты:
xunit1
(илиlegacy
): производит вывод в старом стиле, совместимый с форматом xunit 1.0.xunit2
: производит вывод в стиле xunit 2.0 , который должен быть более совместимым с последними версиями Jenkins. Это значение по умолчанию .
python_files
python_files
Один или несколько шаблонов файлов в стиле Glob, определяющих, какие файлы Python считаются тестовыми модулями. Найдите несколько шаблонов шаров, добавив пробел между шаблонами:
Или по одному на строку:
По умолчанию файлы, соответствующие test_*.py
и *_test.py
, будут считаться тестовыми модулями.
python_classes
python_classes
Один или несколько префиксов имен или шаблонов в стиле глобусов, определяющих, какие классы рассматриваются для тестовой коллекции. Найдите несколько шаблонов шаров, добавив пробел между шаблонами. По умолчанию pytest будет рассматривать любой класс с префиксом Test
как тестовую коллекцию. Вот пример того, как собирать тесты из классов, оканчивающихся на Suite
:
Обратите внимание, что unittest.TestCase
производные классы всегда собираются независимо от этого параметра, так как unittest
для сбора этих тестов используется собственная структура сбора.
python_functions
python_functions
Один или несколько префиксов имен или шаблонов glob, определяющих, какие тестовые функции и методы считаются тестами. Найдите несколько шаблонов шаров, добавив пробел между шаблонами. По умолчанию pytest будет рассматривать любую функцию с префиксом test
как тест. Вот пример того, как собирать тестовые функции и методы, оканчивающиеся на _test
:
Обратите внимание, что это не влияет на методы, которые живут в производном классе, поскольку для сбора этих тестов используется собственная структура коллекции.unittest .TestCaseunittest
Более подробные примеры см. в разделе Изменение соглашений об именах .
markers
Когда используются аргументы командной строки --strict-markers
или --strict
, разрешены только известные маркеры, определенные в коде ядром pytest или каким-либо плагином.
Вы можете перечислить дополнительные маркеры в этом параметре, чтобы добавить их в белый список, и в этом случае вы, вероятно, захотите добавить --strict-markers
, чтобы addopts
избежать будущих регрессий:
Примечание
Использование --strict-markers
является весьма предпочтительным. --strict
был сохранен только для обратной совместимости и может сбивать с толку других, поскольку он применяется только к маркерам, а не к другим параметрам.
Если вас интересует больше информации о параметрах файл , переходите в официальную документацию API Reference
Last updated