Pytest-django: Capturando advertencias específicas de Django en pytest

Creado en 21 nov. 2017  ·  3Comentarios  ·  Fuente: pytest-dev/pytest-django

Me gustaría convertir las advertencias RemovedInNextVersionWarning en errores, como se describe en https://docs.pytest.org/en/latest/warnings.html

Desafortunadamente, cuando agrego a pytest.ini las siguientes líneas:

filterwarnings =
    error::RemovedInDjango20Warning

Termino con (busca estrictamente advertencias internas de 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'

¿Debería / podría pytest-django como complemento hacer que pytest sea consciente de más advertencias posibles para manejar?

Pregunta adicional (ligeramente fuera del alcance): aún mejor sería la posibilidad de filtrar las DjangoWarnings provenientes del código escrito a las advertencias provenientes de otras bibliotecas :-)

bitesize documentation question

Comentario más útil

Utilice el nombre completo:

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

Aún mejor sería la posibilidad de filtrar las advertencias de Django provenientes del código escrito a las advertencias provenientes de otras bibliotecas.

¿Más una característica para Pytest, supongo?
Se puede lograr usando un filtro de registro, donde lo busque record.getMessage() comienza con su ruta.

Todos 3 comentarios

Utilice el nombre completo:

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

Aún mejor sería la posibilidad de filtrar las advertencias de Django provenientes del código escrito a las advertencias provenientes de otras bibliotecas.

¿Más una característica para Pytest, supongo?
Se puede lograr usando un filtro de registro, donde lo busque record.getMessage() comienza con su ruta.

Dulce @blueyed !!!
¡Gracias por la pista!

Terminé descartando los pocos problemas específicamente, usando esto:

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

Una pena que no se mencione en los documentos. Estoy dispuesto a enviar un pequeño RP al respecto. ¿Dónde debería estar? ¿Quizás en configuring_django?

Un PR para los docs sería bueno de hecho.
Sin embargo, no los conozco realmente, así que póngalo donde lo hubiera esperado ..;)

¿Fue útil esta página
0 / 5 - 0 calificaciones