Pytest-django: Captura de avisos específicos do Django no pytest

Criado em 21 nov. 2017  ·  3Comentários  ·  Fonte: pytest-dev/pytest-django

Gostaria de transformar os avisos RemovedInNextVersionWarning em erros, conforme descrito em https://docs.pytest.org/en/latest/warnings.html

Infelizmente, quando adiciono ao pytest.ini as seguintes linhas:

filterwarnings =
    error::RemovedInDjango20Warning

Eu terminei com (ele está procurando estritamente por avisos internos do Python):

INTERNALERROR>   File "/myfolder/python3.6/warnings.py", line 236, in _getcategory
INTERNALERROR>     raise _OptionError("unknown warning category: %r" % (category,))
INTERNALERROR> warnings._OptionError: unknown warning category: 'RemovedInDjango20Warning'

O pytest-django deve / poderia, como um plugin, tornar o pytest ciente de mais avisos possíveis para controlar?

Pergunta bônus (um pouco fora do escopo): Melhor ainda seria a possibilidade de filtrar os DjangoWarnings vindos do código escrito para os avisos vindos de outras bibliotecas :-)

bitesize documentation question

Comentários muito úteis

Use o nome completo:

filterwarnings =
    error::django.utils.deprecation.RemovedInDjango20Warning

Melhor ainda seria a possibilidade de filtrar os DjangoWarnings vindos do código escrito para os avisos vindos de outras bibliotecas

Mais um recurso para pytest, eu acho ?!
Isso pode ser alcançado usando um filtro de registro, onde você procura record.getMessage() começa com seu caminho.

Todos 3 comentários

Use o nome completo:

filterwarnings =
    error::django.utils.deprecation.RemovedInDjango20Warning

Melhor ainda seria a possibilidade de filtrar os DjangoWarnings vindos do código escrito para os avisos vindos de outras bibliotecas

Mais um recurso para pytest, eu acho ?!
Isso pode ser alcançado usando um filtro de registro, onde você procura record.getMessage() começa com seu caminho.

Doce @blueyed !!!
Obrigado pela dica!

Acabei descartando alguns problemas especificamente, usando isto:

filterwarnings =
    error::django.utils.deprecation.RemovedInNextVersionWarning
    ignore::django.utils.deprecation.RemovedInNextVersionWarning:ajax_select.*

Uma pena que não haja menção disso nos documentos. Estou disposto a enviar um pequeno PR sobre isso. Onde deveria estar? Em configuring_django talvez?

Um RP para os médicos seria bom, de fato.
Eu não os conheço realmente, então coloque onde você esperava ...;)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

tolomea picture tolomea  ·  4Comentários

dan-passaro picture dan-passaro  ·  4Comentários

mpasternak picture mpasternak  ·  5Comentários

clintonb picture clintonb  ·  4Comentários

jedie picture jedie  ·  7Comentários