matplotlib.testing
matplotlib.test()
- matplotlib.test(verbosity=None, coverage=False, **kwargs)[source]
[Устарело] Запуск набора тестов matplotlib.
Примечания
Устарело начиная с версии 3.5.
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 истинно, возвращается словарь со следующими элементами:
- 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:
unittest.case.TestCaseОбёртка для unittest.TestCase, включающая операции очистки.
Создаёт экземпляр класса, который будет использовать указанный метод тестирования при выполнении. Вызывает ValueError, если у экземпляра нет метода с указанным именем.
- classmethodsetUpClass()[source]
-
Метод-обработчик для подготовки фикстуры класса перед запуском тестов в классе.
- classmethodtearDownClass()[source]
-
Метод-обработчик для разбора фикстуры класса после выполнения всех тестов в классе.
- matplotlib.testing.decorators.check_figures_equal(*, extensions=('png', 'pdf', 'svg'), tol=0)[source]
-
Декоратор для тест-кейсов, генерирующих и сравнивающих две фигуры.
Декорируемая функция должна принимать два именованных аргумента, fig_test и fig_ref, и отрисовывать тестовое и эталонное изображения на них. После возврата функции изображения сохраняются и сравниваются.
Этот декоратор следует предпочесть image_comparison по возможности, чтобы избежать разрастания набора тестов.
- Parameters
-
- extensionslist, default: ["png", "pdf", "svg"]
-
Расширения для тестирования.
- tolfloat
-
Пороговое значение RMS, превышение которого означает провал теста.
- Raises
-
- RuntimeError
-
Если внутри тестовой функции создаются новые фигуры (и не закрываются).
Примеры
Проверка, что вызов plot с одним аргументом строит его против 0:
@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]
-
Декоратор, гарантирующий, что любое глобальное состояние сброшено перед запуском теста.
- Parameters
-
- 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.- Parameters
-
- baseline_imageslist or None
-
Список строк, определяющих имена изображений, сгенерированных вызовами savefig.
Если None, функция теста должна использовать фикстуру
baseline_images, либо как параметр, либо с usefixtures. Это значение разрешено только при использовании pytest. - extensionsNone or list of str
-
Список расширений для тестирования, например, png, pdf, svg.
Если None, по умолчанию все поддерживаемые расширения: png, pdf и svg.
При тестировании одного расширения оно может быть включено непосредственно в имена, переданные в baseline_images. В этом случае extensions не должно устанавливаться.
Чтобы избежать разрастания набора тестов, мы включаем только png или svg выводы, если тест явно использует функцию, зависящую от этого бэкенда (см. также декоратор check_figures_equal для этой цели).
- tolfloat, default: 0
-
Пороговое значение RMS, превышение которого означает провал теста.
Из-за ожидаемых небольших различий в вычислениях с плавающей запятой на 32-битных системах к этому порогу добавляется дополнительное значение 0.06.
- freetype_versionstr or tuple
-
Ожидаемая версия freetype или диапазон версий для успешного прохождения теста.
- remove_textbool
-
Удалить заголовок и текст делений с фигуры перед сравнением. Это полезно для того, чтобы эталонные изображения не зависели от изменений в рендеринге текста между различными версиями FreeType.
Это не удаляет другой, более умышленный, текст, например легенды и аннотации.
- savefig_kwargdict
-
Дополнительные аргументы, передаваемые методу savefig.
- stylestr, dict, or list
-
Необязательный(е) стиль(и) для применения к тестовому изображению. Сам тест также может применять дополнительные стили, если это необходимо. По умолчанию ('classic', '_classic_test_patch').
- matplotlib.testing.decorators.remove_ticks_and_titles(figure)[source]
matplotlib.testing.exceptions
- exceptionmatplotlib.testing.exceptions.ImageComparisonFailure[source]
-
Bases:
AssertionErrorВызывать эту исключение, чтобы отметить тест как сравнение двух изображений.
© 2012–2021 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.5.1/api/testing_api.html