matplotlib.testing#

matplotlib.test()#

matplotlib. test ( verbosità = Nessuno , copertura = Falso , ** kwargs ) [fonte] #

[ Deprecato ] Esegui la suite di test matplotlib.

Appunti

Deprecato dalla versione 3.5: utilizzare invece pytest.

matplotlib.testing#

Funzioni di supporto per i test.

matplotlib.testing. set_font_settings_for_testing ( ) [fonte] #
matplotlib.testing. set_reproducibility_for_testing ( ) [fonte] #
matplotlib.testing. configurazione ( ) [fonte] #
matplotlib.testing. subprocess_run_helper ( func , * args , timeout , extra_env = None ) [fonte] #

Eseguire una funzione in un processo secondario.

Parametri :
funzione funzione

La funzione da eseguire. Deve essere in un modulo che è importabile.

*args str

Eventuali argomenti aggiuntivi della riga di comando da passare nel primo argomento a subprocess.run.

extra_env dict[str, str]

Eventuali variabili di ambiente aggiuntive da impostare per il sottoprocesso.

matplotlib.testing.compare#

Utilità per confrontare i risultati delle immagini.

matplotlib.testing.compare. calcola_rms ( immagine_prevista , immagine_effettiva ) [fonte] #

Calcola gli errori per pixel, quindi calcola l'errore quadratico medio.

matplotlib.testing.compare. formati_comparabili ( ) [fonte] #

Restituisce l'elenco dei formati di file che compare_imagespossono essere confrontati su questo sistema.

Resi :
elenco di str

Ad es .['png', 'pdf', 'svg', 'eps']

matplotlib.testing.compare. compare_images ( previsto , effettivo , tol , in_decorator = False ) [fonte] #

Confronta due file "immagine" controllando le differenze all'interno di una tolleranza.

I due nomi file indicati possono puntare a file convertibili in PNG tramite il converterdizionario. L'RMS sottostante viene calcolato con la calculate_rmsfunzione.

Parametri :
previsto str

Il nome file dell'immagine prevista.

effettivo str

Il nome file dell'immagine reale.

galleggiare _

La tolleranza (una differenza del valore del colore, dove 255 è la differenza massima). Il test fallisce se la differenza media di pixel è maggiore di questo valore.

in_decorator bool

Determina il formato di output. Se chiamato dal decoratore image_comparison, dovrebbe essere True. (predefinito=falso)

Resi :
Nessuno o dict o str

Restituisce Nessuno se le immagini sono uguali entro la tolleranza data.

Se le immagini differiscono, il valore restituito dipende da in_decorator . Se in_decorator è vero, viene restituito un dict con le seguenti voci:

  • rms : L'RMS della differenza dell'immagine.

  • atteso : il nome file dell'immagine prevista.

  • actual : il nome file dell'immagine reale.

  • diff_image : il nome file dell'immagine differenza.

  • tol : la tolleranza di confronto.

In caso contrario, viene restituita una rappresentazione di stringa multilinea leggibile dall'utente di queste informazioni.

Esempi

img1 = "./baseline/plot.png"
img2 = "./output/plot.png"
compare_images(img1, img2, 0.001)

matplotlib.testing.decorators#

classe matplotlib.testing.decorators. CleanupTestCase ( methodName = 'runTest' ) [fonte] #

Basi:TestCase

[ Deprecato ] Un wrapper per unittest.TestCase che include operazioni di pulizia.

Appunti

Deprecato dalla versione 3.6: utilizzare una copia venduta del codice esistente, inclusa la funzione privata _cleanup_cm.

Crea un'istanza della classe che utilizzerà il metodo di test denominato quando eseguito. Genera un ValueError se l'istanza non ha un metodo con il nome specificato.

classmethod setUpClass ( ) [fonte] #

Metodo hook per impostare il dispositivo di classe prima di eseguire i test nella classe.

classmethod tearDownClass ( ) [fonte] #

Metodo hook per decostruire il dispositivo della classe dopo aver eseguito tutti i test nella classe.

matplotlib.testing.decorators. check_figures_equal ( * , extensions = ('png', 'pdf', 'svg') , tol = 0 ) [fonte] #

Decoratore per casi di test che generano e confrontano due figure.

La funzione decorata deve accettare due argomenti di parole chiave, fig_test e fig_ref , e disegnare su di essi le immagini di test e di riferimento. Dopo che la funzione ritorna, le cifre vengono salvate e confrontate.

Questo decoratore dovrebbe essere preferito image_comparisonquando possibile per evitare che le dimensioni della suite di test aumentino.

Parametri :
elenco estensioni , predefinito: ["png", "pdf", "svg"]

Le estensioni da testare.

galleggiare _

La soglia RMS al di sopra della quale il test è considerato fallito.

Rialzi :
Errore di runtime

Se vengono create nuove figure (e non successivamente chiuse) all'interno della funzione test.

Esempi

Verifica che la chiamata Axes.plotcon un singolo argomento lo tracci contro :[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.testing.decorators. check_freetype_version ( ver ) [fonte] #

[ Deprecato ]

Appunti

Deprecato dalla versione 3.6: utilizza invece una copia venduta del codice esistente di _check_freetype_version.

matplotlib.testing.decorators. pulizia ( style = None ) [fonte] #

[ Deprecato ] Un decoratore per garantire che qualsiasi stato globale venga ripristinato prima di eseguire un test.

Parametri :
style str, dict o list, facoltativo

Lo stile o gli stili da applicare. Il valore predefinito è .["classic", "_classic_test_patch"]

Appunti

Deprecato dalla versione 3.6: utilizzare una copia venduta del codice esistente, inclusa la funzione privata _cleanup_cm.

matplotlib.testing.decorators. image_comparison ( baseline_images , extensions = None , tol = 0 , freetype_version = None , remove_text = False , savefig_kwarg = None , style = ('classic', '_classic_test_patch') ) [fonte] #

Confronta le immagini generate dal test con quelle specificate in baseline_images , che devono corrispondere, altrimenti ImageComparisonFailure verrà sollevata un'eccezione.

Parametri :
elenco baseline_images o Nessuno

Un elenco di stringhe che specificano i nomi delle immagini generate dalle chiamate a Figure.savefig.

Se None , la funzione di test deve utilizzare il baseline_imagesdispositivo, come parametro o con pytest.mark.usefixtures. Questo valore è consentito solo quando si utilizza pytest.

estensioni Nessuna o lista di str

L'elenco delle estensioni da testare, ad es .['png', 'pdf']

Se None , per impostazione predefinita vengono utilizzate tutte le estensioni supportate: png, pdf e svg.

Durante il test di una singola estensione, può essere inclusa direttamente nei nomi passati a baseline_images . In tal caso, le estensioni non devono essere impostate.

Per evitare che le dimensioni della suite di test aumentino, includiamo solo gli output svgo pdfse il test sta esercitando esplicitamente una funzionalità dipendente da quel backend (vedi anche il check_figures_equaldecoratore a tale scopo).

tol float, predefinito: 0

La soglia RMS al di sopra della quale il test è considerato fallito.

A causa delle piccole differenze previste nei calcoli in virgola mobile, sui sistemi a 32 bit viene aggiunto un ulteriore 0,06 a questa soglia.

freetype_version str o tupla

La versione freetype prevista o l'intervallo di versioni per il superamento di questo test.

remove_text bool

Rimuovere il titolo e spuntare il testo dalla figura prima del confronto. Ciò è utile per rendere le immagini di base indipendenti dalle variazioni nel rendering del testo tra le diverse versioni di FreeType.

Questo non rimuove altro testo più deliberato, come legende e annotazioni.

savefig_kwarg dict

Argomenti facoltativi passati al metodo savefig.

style str, dict o list

Gli stili facoltativi da applicare al test dell'immagine. Il test stesso può anche applicare stili aggiuntivi se lo si desidera. Il valore predefinito è .["classic", "_classic_test_patch"]

matplotlib.testing.decorators. remove_ticks_and_titles ( figura ) [fonte] #

matplotlib.testing.exceptions#

eccezione matplotlib.testing.exceptions. ImageComparisonFailure [fonte] #

Basi:AssertionError

Solleva questa eccezione per contrassegnare un test come confronto tra due immagini.