Почему pytest не будет использовать pyproject.toml для этого предупреждения об устаревании

#python #pytest #pytest-django #pyproject.toml

Вопрос:

У меня есть проект django, управляемый с помощью pytest и поэзии.

Я хотел бы поместить свою конфигурацию pytest в pyproject.toml файл, поэтому я добавил:

 [tool.pytest]
filterwarnings = ["ignore::django.utils.deprecation.RemovedInDjango40Warning", "ignore::django.utils.deprecation.RemovedInDjango41Warning"]
 

Однако это не имело никакого значения — предупреждение не было отфильтровано.

Если я добавлю файл pytest.ini, содержащий следующее…

 [pytest]
filterwarnings =
    ignore::django.utils.deprecation.RemovedInDjango40Warning
    ignore::django.utils.deprecation.RemovedInDjango41Warning
 

… это работает просто отлично.

Что не так с моей pyproject.toml или моей конфигурацией pytest , что ее не принимают?

Ответ №1:

Согласно документам pytest, название раздела должно быть [tool.pytest.ini_options]

Комментарии:

1. Блестяще, спасибо! Я работал над формой выпуска github, когда поддержка pyproject была первоначально реализована, должно быть, это было до того, как они зарезервировали [tool.pytest] для использования в будущем. Еще раз спасибо!