matplotlib.testing
#
matplotlib.test()
#
matplotlib.testing
#
Funciones auxiliares para pruebas.
- matplotlib.pruebas. subprocess_run_helper ( función , * argumentos , tiempo de espera , extra_env = Ninguno ) [fuente] #
Ejecutar una función en un subproceso.
- Parámetros :
- funcion funcion
La función a ejecutar. Debe estar en un módulo que sea importable.
- * cadena de argumentos
Cualquier argumento de línea de comando adicional que se pase en el primer argumento a
subprocess.run
.- extra_env dictado [str, str]
Cualquier variable de entorno adicional que se establezca para el subproceso.
matplotlib.testing.compare
#
Utilidades para comparar resultados de imágenes.
- matplotlib.testing.compare. calcular_rms ( imagen_esperada , imagen_real ) [fuente] #
Calcule los errores por píxel, luego calcule el error cuadrático medio.
- matplotlib.testing.compare. formatos_comparables ( ) [fuente] #
Devuelve la lista de formatos de archivo que
compare_images
se pueden comparar en este sistema.- Devoluciones :
- lista de str
ej .
['png', 'pdf', 'svg', 'eps']
- matplotlib.testing.compare. compare_images ( esperado , real , tol , in_decorator = False ) [fuente] #
Compare dos archivos de "imagen" comprobando las diferencias dentro de una tolerancia.
Los dos nombres de archivo dados pueden apuntar a archivos que se pueden convertir a PNG a través del
converter
diccionario. El RMS subyacente se calcula con lacalculate_rms
función.- Parámetros :
- cadena esperada
El nombre de archivo de la imagen esperada.
- calle real
El nombre de archivo de la imagen real.
- flotante _
La tolerancia (una diferencia de valor de color, donde 255 es la diferencia máxima). La prueba falla si la diferencia promedio de píxeles es mayor que este valor.
- in_decorator booleano
Determina el formato de salida. Si se llama desde el decorador image_comparison, debería ser True. (predeterminado=falso)
- Devoluciones :
- Ninguno o dict o str
Devuelva Ninguno si las imágenes son iguales dentro de la tolerancia dada.
Si las imágenes difieren, el valor de retorno depende de in_decorator . Si in_decorator es verdadero, se devuelve un dict con las siguientes entradas:
rms : El RMS de la diferencia de imagen.
esperado : El nombre de archivo de la imagen esperada.
real : El nombre de archivo de la imagen real.
diff_image : El nombre de archivo de la imagen de diferencia.
tol : La tolerancia de comparación.
De lo contrario, se devuelve una representación de cadena de varias líneas legible por humanos de esta información.
Ejemplos
img1 = "./baseline/plot.png" img2 = "./output/plot.png" compare_images(img1, img2, 0.001)
matplotlib.testing.decorators
#
- clase matplotlib.testing.decorators. CleanupTestCase ( methodName = 'runTest' ) [fuente] #
Bases:
TestCase
[ Obsoleto ] Un contenedor para unittest.TestCase que incluye operaciones de limpieza.
notas
En desuso desde la versión 3.6: utilice una copia del código existente proporcionada por el proveedor, incluida la función privada _cleanup_cm en su lugar.
Cree una instancia de la clase que utilizará el método de prueba nombrado cuando se ejecute. Genera un ValueError si la instancia no tiene un método con el nombre especificado.
- matplotlib.pruebas.decoradores. check_figures_equal ( * , extensiones = ('png', 'pdf', 'svg') , tol = 0 ) [fuente] #
Decorador de casos de prueba que generan y comparan dos figuras.
La función decorada debe tomar dos argumentos de palabra clave, fig_test y fig_ref , y dibujar las imágenes de prueba y de referencia en ellos. Después de que la función regresa, las cifras se guardan y comparan.
Se debe preferir este decorador
image_comparison
cuando sea posible para evitar que el tamaño del conjunto de pruebas se dispare.- Parámetros :
- lista de extensiones , por defecto: ["png", "pdf", "svg"]
Las extensiones a probar.
- flotante _
El umbral RMS por encima del cual se considera fallida la prueba.
- aumenta :
- Error de tiempo de ejecución
Si se crean nuevas figuras (y no se cierran posteriormente) dentro de la función de prueba.
Ejemplos
Verifique que llamar
Axes.plot
con un solo argumento lo grafica contra :[0, 1, 2, ...]
@check_figures_equal() def test_plot(fig_test, fig_ref): fig_test.subplots().plot([1, 3, 5]) fig_ref.subplots().plot([0, 1, 2], [1, 3, 5])
- matplotlib.pruebas.decoradores. check_freetype_version ( ver ) [fuente] #
[ Obsoleto ]
notas
En desuso desde la versión 3.6: use una copia del proveedor del código existente de _check_freetype_version en su lugar.
- matplotlib.pruebas.decoradores. limpieza ( estilo = Ninguno ) [fuente] #
[ Obsoleto ] Un decorador para garantizar que cualquier estado global se restablezca antes de ejecutar una prueba.
- Parámetros :
- estilo str, dict o list, opcional
El(los) estilo(s) a aplicar. El valor predeterminado es .
["classic", "_classic_test_patch"]
notas
En desuso desde la versión 3.6: utilice una copia del código existente proporcionada por el proveedor, incluida la función privada _cleanup_cm en su lugar.
- matplotlib.pruebas.decoradores. image_comparison ( baseline_images , extensiones = Ninguno , tol = 0 , freetype_version = Ninguno , remove_text = False , savefig_kwarg = Ninguno , estilo = ('clásico', '_clásico_prueba_parche') ) [fuente] #
Compare las imágenes generadas por la prueba con las especificadas en las imágenes de línea base , que deben corresponder, de lo contrario,
ImageComparisonFailure
se generará una excepción.- Parámetros :
- lista de imágenes_baseline o ninguna
Una lista de cadenas que especifican los nombres de las imágenes generadas por las llamadas a
Figure.savefig
.Si es Ninguno , la función de prueba debe usar el
baseline_images
accesorio, ya sea como un parámetro o conpytest.mark.usefixtures
. Este valor solo está permitido cuando se usa pytest.- extensiones Ninguna o lista de str
La lista de extensiones para probar, por ejemplo, .
['png', 'pdf']
Si no hay ninguna , las extensiones predeterminadas son todas compatibles: png, pdf y svg.
Al probar una sola extensión, se puede incluir directamente en los nombres que se pasan a las imágenes_baseline . En ese caso, no se deben establecer extensiones .
Para evitar que el tamaño del conjunto de pruebas aumente, solo incluimos las salidas
svg
opdf
si la prueba ejecuta explícitamente una función que depende de ese backend (consulte también elcheck_figures_equal
decorador para ese fin).- flotante tol , por defecto: 0
El umbral RMS por encima del cual se considera fallida la prueba.
Debido a las pequeñas diferencias esperadas en los cálculos de coma flotante, en los sistemas de 32 bits se agrega un 0,06 adicional a este umbral.
- freetype_version str o tuple
La versión de tipo libre esperada o el rango de versiones para pasar esta prueba.
- eliminar_texto booleano
Elimine el título y marque el texto de la figura antes de la comparación. Esto es útil para hacer que las imágenes de referencia sean independientes de las variaciones en la representación del texto entre diferentes versiones de FreeType.
Esto no elimina otro texto más deliberado, como leyendas y anotaciones.
- dictado savefig_kwarg
Argumentos opcionales que se pasan al método savefig.
- estilo str, dict o list
Los estilos opcionales que se aplicarán a la prueba de imagen. La prueba en sí también puede aplicar estilos adicionales si lo desea. El valor predeterminado es .
["classic", "_classic_test_patch"]
matplotlib.testing.exceptions
#
- excepción matplotlib.testing.exceptions. ImageComparisonFailure [fuente] #
Bases:
AssertionError
Genera esta excepción para marcar una prueba como una comparación entre dos imágenes.