Compruebe si alguna de las pruebas genera una advertencia de desaprobación con pytest

Estoy usando pytest para ejecutar pruebas en un paquete de Python, y me gustaría saber si alguno de los códigos que se ejecutan como parte de las pruebas está generando advertencias de desaprobación (cuando todas las pruebas pasan). ¿Alguien sabe de una manera de hacer esto?

El código

import warnings warnings.simplefilter("error") 

convertirá (todas) las advertencias en errores, lo que puede ayudar.

Alternativamente, puede obtener una lista de advertencias generadas con

 import warnings with warnings.catch_warnings(record=True) as w: warnings.warn("deprecated", DeprecationWarning) print(w) #>>> [] 

y luego afirmar en esa lista.

Comenzando con pytest 3.1, las advertencias se muestran automáticamente al final de la sesión: consulte https://docs.pytest.org/en/latest/warnings.html