matplotlib.testing
#
matplotlib.test()
#
matplotlib.testing
#
Funzioni di supporto per i test.
- 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_images
possono 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
converter
dizionario. L'RMS sottostante viene calcolato con lacalculate_rms
funzione.- 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.
- 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_comparison
quando 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.plot
con 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_images
dispositivo, come parametro o conpytest.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
svg
opdf
se il test sta esercitando esplicitamente una funzionalità dipendente da quel backend (vedi anche ilcheck_figures_equal
decoratore 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.exceptions
#
- eccezione matplotlib.testing.exceptions. ImageComparisonFailure [fonte] #
Basi:
AssertionError
Solleva questa eccezione per contrassegnare un test come confronto tra due immagini.