matplotlib.testing#

matplotlib.test()#

matplotlib. test ( verbosité = Aucun , couverture = Faux , ** kwargs ) [source] #

[ Obsolète ] Exécutez la suite de tests matplotlib.

Remarques

Obsolète depuis la version 3.5 : utilisez plutôt pytest.

matplotlib.testing#

Fonctions d'assistance pour les tests.

matplotlib.testing. set_font_settings_for_testing ( ) [source] #
matplotlib.testing. set_reproductibility_for_testing ( ) [source] #
matplotlib.testing. configuration ( ) [source] #
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_imagespouvant ê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 converterdictionnaire. Le RMS sous-jacent est calculé avec la calculate_rmsfonction.

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é.

méthode de classe setUpClass ( ) [ source] #

Méthode de hook pour configurer le luminaire de classe avant d'exécuter des tests dans la classe.

méthode de classe tearDownClass ( ) [source] #

Méthode de hook pour déconstruire le luminaire de classe après avoir exécuté tous les tests de la classe.

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_comparisonlorsque 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.plotavec 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_imagesprojecteur, soit comme paramètre, soit avec pytest.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 svgou pdfque si le test exerce explicitement une fonctionnalité dépendant de ce backend (voir aussi le check_figures_equaldé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.decorators. remove_ticks_and_titles ( figure ) [source] #

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.