matplotlib.testing
#
matplotlib.test()
#
matplotlib.testing
#
Fonctions d'assistance pour les tests.
- matplotlib.testing. subprocess_run_helper ( func , * args , timeout , extra_env = None ) [source] #
Exécuter une fonction dans un sous-processus.
- Paramètres :
- fonction func
La fonction à exécuter. Il doit se trouver dans un module importable.
- *args str
Tous les arguments de ligne de commande supplémentaires à transmettre dans le premier argument à
subprocess.run
.- extra_env dict[str, str]
Toutes les variables d'environnement supplémentaires à définir pour le sous-processus.
matplotlib.testing.compare
#
Utilitaires pour comparer les résultats d'image.
- matplotlib.testing.compare. calculate_rms ( expect_image , actual_image ) [source] #
Calculez les erreurs par pixel, puis calculez l'erreur quadratique moyenne.
- matplotlib.testing.compare. formats_comparables ( ) [source] #
Renvoie la liste des formats de fichiers
compare_images
pouvant être comparés sur ce système.- Retours :
- liste de str
Par exemple .
['png', 'pdf', 'svg', 'eps']
- matplotlib.testing.compare. compare_images ( attendu , réel , tol , in_decorator = False ) [source] #
Comparez deux fichiers "image" en vérifiant les différences dans une tolérance.
Les deux noms de fichiers donnés peuvent pointer vers des fichiers convertibles en PNG via le
converter
dictionnaire. Le RMS sous-jacent est calculé avec lacalculate_rms
fonction.- Paramètres :
- str attendu
Le nom de fichier de l'image attendue.
- véritable str
Le nom de fichier de l'image réelle.
- tol flotteur
La tolérance (une différence de valeur de couleur, où 255 est la différence maximale). Le test échoue si la différence moyenne de pixels est supérieure à cette valeur.
- in_decorator booléen
Détermine le format de sortie. S'il est appelé depuis le décorateur image_comparison, cela devrait être True. (par défaut=Faux)
- Retours :
- Aucun ou dict ou str
Renvoie None si les images sont égales dans la tolérance donnée.
Si les images diffèrent, la valeur de retour dépend de in_decorator . Si in_decorator est vrai, un dict avec les entrées suivantes est renvoyé :
rms : Le RMS de la différence d'image.
attendue : Le nom de fichier de l'image attendue.
actual : Le nom de fichier de l'image réelle.
diff_image : Le nom de fichier de l'image de différence.
tol : La tolérance de comparaison.
Sinon, une représentation sous forme de chaîne multiligne lisible par l'homme de ces informations est renvoyée.
Exemples
img1 = "./baseline/plot.png" img2 = "./output/plot.png" compare_images(img1, img2, 0.001)
matplotlib.testing.decorators
#
- classe matplotlib.testing.decorators. CleanupTestCase ( methodName = 'runTest' ) [source] #
Socles :
TestCase
[ Obsolète ] Un wrapper pour unittest.TestCase qui inclut des opérations de nettoyage.
Remarques
Obsolète depuis la version 3.6 : utilisez une copie du fournisseur du code existant, y compris la fonction privée _cleanup_cm à la place.
Créez une instance de la classe qui utilisera la méthode de test nommée lors de son exécution. Lève une ValueError si l'instance n'a pas de méthode avec le nom spécifié.
- matplotlib.testing.decorators. check_figures_equal ( * , extensions = ('png', 'pdf', 'svg') , tol = 0 ) [source] #
Décorateur pour les cas de test qui génèrent et comparent deux figures.
La fonction décorée doit prendre deux arguments mot-clé, fig_test et fig_ref , et y dessiner les images de test et de référence. Après le retour de la fonction, les chiffres sont enregistrés et comparés.
Ce décorateur doit être préféré
image_comparison
lorsque cela est possible afin d'éviter que la taille de la suite de tests ne gonfle.- Paramètres :
- liste des extensions , par défaut : ["png", "pdf", "svg"]
Les extensions à tester.
- tol flotteur
Seuil RMS au-dessus duquel le test est considéré comme ayant échoué.
- Augmente :
- Erreur d'exécution
Si de nouvelles figures sont créées (et non fermées par la suite) à l'intérieur de la fonction de test.
Exemples
Vérifiez que l'appel
Axes.plot
avec un seul argument le trace contre :[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 ) [source] #
[ Obsolète ]
Remarques
Obsolète depuis la version 3.6 : utilisez à la place une copie fournie par le fournisseur du code existant de _check_freetype_version.
- matplotlib.testing.decorators. nettoyage ( style = Aucun ) [source] #
[ Obsolète ] Un décorateur pour s'assurer que tout état global est réinitialisé avant d'exécuter un test.
- Paramètres :
- style str, dict ou liste, facultatif
Le(s) style(s) à appliquer. La valeur par défaut est .
["classic", "_classic_test_patch"]
Remarques
Obsolète depuis la version 3.6 : utilisez une copie du fournisseur du code existant, y compris la fonction privée _cleanup_cm à la place.
- 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') ) [source] #
Comparez les images générées par le test avec celles spécifiées dans baseline_images , qui doivent correspondre, sinon une
ImageComparisonFailure
exception sera levée.- Paramètres :
- liste baseline_images ou Aucun
Une liste de chaînes spécifiant les noms des images générées par les appels à
Figure.savefig
.Si None , la fonction de test doit utiliser le
baseline_images
projecteur, soit comme paramètre, soit avecpytest.mark.usefixtures
. Cette valeur n'est autorisée que lors de l'utilisation de pytest.- extensions Aucune ou liste de chaînes
La liste des extensions à tester, par exemple .
['png', 'pdf']
Si None , toutes les extensions prises en charge sont utilisées par défaut : png, pdf et svg.
Lors du test d'une seule extension, elle peut être directement incluse dans les noms passés à baseline_images . Dans ce cas, les extensions ne doivent pas être définies.
Afin d'empêcher la taille de la suite de tests de gonfler, nous n'incluons les sorties
svg
oupdf
que si le test exerce explicitement une fonctionnalité dépendant de ce backend (voir aussi lecheck_figures_equal
décorateur à cette fin).- tol float, par défaut : 0
Seuil RMS au-dessus duquel le test est considéré comme ayant échoué.
En raison des petites différences attendues dans les calculs en virgule flottante, sur les systèmes 32 bits, 0,06 supplémentaire est ajouté à ce seuil.
- freetype_version chaîne ou tuple
La version freetype attendue ou la plage de versions pour que ce test réussisse.
- remove_text booléen
Supprimez le titre et cochez le texte de la figure avant la comparaison. Ceci est utile pour rendre les images de base indépendantes des variations de rendu du texte entre les différentes versions de FreeType.
Cela ne supprime pas les autres textes plus délibérés, tels que les légendes et les annotations.
- savefig_kwarg dict
Arguments facultatifs passés à la méthode savefig.
- style str, dict ou liste
Le ou les styles facultatifs à appliquer au test d'image. Le test lui-même peut également appliquer des styles supplémentaires si vous le souhaitez. La valeur par défaut est .
["classic", "_classic_test_patch"]
matplotlib.testing.exceptions
#
- exception matplotlib.testing.exceptions. ImageComparisonFailure [source] #
Socles :
AssertionError
Déclenchez cette exception pour marquer un test comme une comparaison entre deux images.