matplotlib.testing
matplotlib.test()
-
matplotlib.test(verbosity=None, coverage=False, *, recursionlimit=<deprecated parameter>, **kwargs)[source] -
Выполнить набор тестов matplotlib.
matplotlib.testing
Вспомогательные функции для тестирования.
-
matplotlib.testing.set_font_settings_for_testing()[source]
-
matplotlib.testing.set_reproducibility_for_testing()[source]
-
matplotlib.testing.setup()[source]
matplotlib.testing.compare
Утилиты для сравнения результатов изображений.
-
matplotlib.testing.compare.calculate_rms(expected_image, actual_image)[source] -
Вычислите ошибки на каждый пиксель, а затем вычислите среднеквадратичную ошибку.
-
matplotlib.testing.compare.comparable_formats()[source] -
Возвращает список форматов файлов, которые
compare_imagesможет сравнивать на этой системе.Возвращает: - list of str
-
Например,
['png', 'pdf', 'svg', 'eps'].
-
matplotlib.testing.compare.compare_images(expected, actual, tol, in_decorator=False)[source] -
Сравните два файла "изображений", проверяя различия в пределах толерантности.
Два заданных имени файлов могут указывать на файлы, которые могут быть преобразованы в PNG с помощью
converterсловаря. Базовая среднеквадратическая ошибка вычисляется с помощью функцииcalculate_rms.Параметры: - expectedstr
-
Имя файла ожидаемого изображения.
- actualstr
-
Имя файла фактического изображения.
- tolfloat
-
Толерантность (разница значений цвета, где 255 — максимальная разница). Тест завершается неудачей, если средняя разница пикселей превышает это значение.
- in_decoratorbool
-
Определяет формат вывода. Если вызов осуществляется из декоратора сравнения изображений, это должно быть True. (по умолчанию=False)
Возвращает: - None или dict или str
-
Возвращает None, если изображения равны в пределах заданной толерантности.
Если изображения отличаются, возвращаемое значение зависит от in_decorator. Если in_decorator равно true, возвращается словарь со следующими записями:
- rms: Среднеквадратическое отклонение разницы изображений.
- expected: Имя файла ожидаемого изображения.
- actual: Имя файла фактического изображения.
- diff_image: Имя файла изображения разности.
- tol: Толерантность сравнения.
В противном случае возвращается многострочное строковое представление этой информации, удобное для чтения.
Примеры
img1 = "./baseline/plot.png" img2 = "./output/plot.png" compare_images(img1, img2, 0.001)
matplotlib.testing.decorators
- class
matplotlib.testing.decorators.CleanupTestCase(methodName='runTest')[source] -
Bases:
unittest.case.TestCaseОбёртка для unittest.TestCase, включающая операции по очистке.
Создаёт экземпляр класса, который будет использовать указанный метод теста при выполнении. Вызывает ValueError, если у экземпляра нет метода с указанным именем.
- classmethod
setUpClass()[source] -
Метод для подготовки фикстуры класса перед запуском тестов в классе.
- classmethod
tearDownClass()[source] -
Метод для разрушения фикстуры класса после выполнения всех тестов в классе.
- classmethod
-
matplotlib.testing.decorators.check_figures_equal(*, extensions=('png', 'pdf', 'svg'), tol=0)[source] -
Декоратор для тестовых случаев, которые генерируют и сравнивают две фигуры.
Декорируемая функция должна принимать два именованных аргумента, fig_test и fig_ref, и рисовать тестовое и эталонное изображения на них. После возвращения функции фигуры сохраняются и сравниваются.
Этот декоратор следует предпочитать
image_comparisonпо возможности, чтобы не раздувать размер набора тестов.Параметры: - extensionslist, default: ["png", "pdf", "svg"]
-
Расширения для тестирования.
- tolfloat
-
Пороговое значение RMS, выше которого тест считается проваленным.
Исключения: - RuntimeError
-
Если внутри тестовой функции создаются какие-либо новые фигуры (и они не закрываются).
Примеры
Проверьте, что вызов
Axes.plotс одним аргументом строит его против[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]
-
matplotlib.testing.decorators.cleanup(style=None)[source] -
Декоратор, гарантирующий сброс любого глобального состояния перед запуском теста.
Параметры: - stylestr, dict, or list, optional
-
Стиль(и) для применения. По умолчанию
["classic", "_classic_test_patch"].
-
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] -
Сравните изображения, сгенерированные тестом, с изображениями, указанными в baseline_images, которые должны совпадать, в противном случае будет поднято исключение
ImageComparisonFailure.Параметры: - baseline_imagesсписок или None
-
Список строк, определяющих имена изображений, сгенерированных вызовами
Figure.savefig.Если None, функция теста должна использовать фикстуру
baseline_images, либо в качестве параметра, либо с помощьюpytest.mark.usefixtures. Это значение разрешено только при использовании pytest. - extensionsNone или список str
-
Список расширений для проверки, например
['png', 'pdf'].Если None, по умолчанию используются все поддерживаемые расширения: png, pdf и svg.
При проверке одного расширения его можно напрямую включить в имена, переданные в baseline_images. В этом случае extensions не должно быть установлено.
Чтобы не увеличивать размер набора тестов, мы включаем только результаты
svgилиpdf, если тест явно использует функцию, зависящую от этого бэкэнда (см. также декораторcheck_figures_equalдля этой цели). - tolfloat, по умолчанию: 0
-
Пороговое значение RMS, превышение которого приводит к признанию теста проваленным.
Из-за ожидаемых небольших различий в вычислениях с плавающей точкой на 32-битных системах к этому порогу добавляется дополнительное значение 0.06.
- freetype_versionстрока или кортеж
-
Ожидаемая версия freetype или диапазон версий для успешного прохождения теста.
- remove_textbool
-
Удалить заголовок и метки с оси с фигуры перед сравнением. Это полезно для того, чтобы изображения базовых данных были независимы от различий в рендеринге текста между различными версиями FreeType.
Это не удаляет другой, более преднамеренный, текст, такой как легенды и аннотации.
- savefig_kwargсловарь
-
Дополнительные аргументы, передаваемые методу savefig.
- styleстрока, словарь или список
-
Необязательный(ые) стиль(и) для применения к тесту изображения. Сам тест также может применять дополнительные стили по желанию. По умолчанию
["classic", "_classic_test_patch"].
-
matplotlib.testing.decorators.remove_ticks_and_titles(figure)[source]
matplotlib.testing.exceptions
- исключение
matplotlib.testing.exceptions.ImageComparisonFailure[source] -
Основано на
AssertionErrorПоднимайте это исключение, чтобы отметить тест как сравнение двух изображений.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.4.3/api/testing_api.html