Spec-Zone.ru › Matplotlib 3.6

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)
END_OF_DOCUMENT_MARKER

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API