matplotlib.testing
matplotlib.test()
- matplotlib.test(verbosity=None, coverage=False, **kwargs)[source]
-
[Устаревшее] Запустить набор тестов matplotlib.
Примечания
Устарело начиная с версии 3.5: Используйте pytest вместо этого.
matplotlib.testing
Вспомогательные функции для тестирования.
- matplotlib.testing.set_font_settings_for_testing()[source]
- matplotlib.testing.set_reproducibility_for_testing()[source]
- matplotlib.testing.setup()[source]
- matplotlib.testing.subprocess_run_helper(func, *args, timeout, extra_env=None)[source]
-
Запуск функции в дочернем процессе.
- Параметры:
-
- funcфункция
-
Функция, которая должна быть запущена. Она должна находиться в модуле, который можно импортировать.
- *argsstr
-
Дополнительные аргументы командной строки, которые будут переданы в первый аргумент
subprocess.run. - extra_envdict[str, str]
-
Дополнительные переменные среды, которые необходимо установить для дочернего процесса.
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словаря. Базовое значение RMS рассчитывается с помощью функцииcalculate_rms.- Параметры:
-
- expectedstr
-
Имя файла ожидаемого изображения.
- actualstr
-
Имя файла фактического изображения.
- tolfloat
-
Толерантность (разница значений цвета, где 255 — максимальная разница). Тест завершается неудачей, если средняя разница пикселей больше этого значения.
- in_decoratorbool
-
Определяет формат вывода. Если вызывается из декоратора image_comparison, это значение должно быть True. (по умолчанию False)
- Возвращает:
-
- None или dict или str
-
Возвращает None, если изображения равны в пределах заданной точности.
Если изображения отличаются, возвращаемое значение зависит от in_decorator. Если in_decorator равно true, возвращается словарь со следующими элементами:
- rms: RMS различий изображения.
- expected: Имя файла ожидаемого изображения.
- actual: Имя файла фактического изображения.
- diff_image: Имя файла изображения различий.
- tol: Толерантность сравнения.
В противном случае возвращается многострочное строковое представление этой информации в удобочитаемом формате.
Примеры
img1 = "./baseline/plot.png" img2 = "./output/plot.png" compare_images(img1, img2, 0.001)
matplotlib.testing.decorators
- classmatplotlib.testing.decorators.CleanupTestCase(methodName='runTest')[source]
-
Bases:
TestCase[Устаревший] Обёртка для unittest.TestCase, включающая операции по очистке.
Примечания
Устарело начиная с версии 3.6: Используйте переданный экземпляр существующего кода, включая закрытую функцию _cleanup_cm.
Создаёт экземпляр класса, который будет использовать указанный метод теста при выполнении. Вызывает ValueError, если у экземпляра нет метода с указанным именем.
- classmethodsetUpClass()[source]
-
Метод для подготовки фикстуры класса перед запуском тестов в классе.
- classmethodtearDownClass()[source]
-
Метод для разбора фикстуры класса после запуска всех тестов в классе.
- matplotlib.testing.decorators.check_figures_equal(*, extensions=('png', 'pdf', 'svg'), tol=0)[source]
-
Декоратор для тест-кейсов, генерирующих и сравнивающих две фигуры.
Декорируемая функция должна принимать два ключевых аргумента, fig_test и fig_ref, и отрисовывать тестовые и эталонные изображения на них. После возвращения функции, фигуры сохраняются и сравниваются.
Этот декоратор следует предпочитать
image_comparisonпо возможности, чтобы не увеличивать размер набора тестов.- Параметры:
-
- extensionsсписок, по умолчанию: ["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]
-
[Устаревший]
Примечания
Устарело начиная с версии 3.6: Используйте переданный экземпляр существующего кода _check_freetype_version.
- matplotlib.testing.decorators.cleanup(style=None)[source]
-
[Устаревший] Декоратор, гарантирующий сброс глобального состояния перед запуском теста.
- Параметры:
-
- styleстрока, словарь или список, необязательно
-
Стили(и) для применения. По умолчанию
["classic", "_classic_test_patch"].
Примечания
Устарело начиная с версии 3.6: Используйте переданный экземпляр существующего кода, включая закрытую функцию _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'))[source]
-
Сравнение изображений, сгенерированных тестом, с изображениями, указанными в baseline_images, которые должны соответствовать, в противном случае будет вызвано исключение
ImageComparisonFailure.- Параметры:
-
- baseline_imagesсписок или None
-
Список строк, указывающих имена изображений, сгенерированных вызовами
Figure.savefig.Если None, функция теста должна использовать фикстуру
baseline_images, либо как параметр, либо с помощьюpytest.mark.usefixtures. Это значение разрешено только при использовании pytest. - extensionsNone или список строк
-
Список расширений для тестирования, например,
['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
- exceptionmatplotlib.testing.exceptions.ImageComparisonFailure[source]
-
Bases:
AssertionErrorВызвать эту ошибку, чтобы отметить тест как сравнение двух изображений.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/testing_api.html