Spec-Zone.ru › Matplotlib 3.7

matplotlib.testing

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функция

Функция, которая будет запущена. Она должна быть в импортируемом модуле.

*argsстрока

Дополнительные аргументы командной строки, которые будут переданы в первый аргумент в subprocess.run.

extra_envdict[строка, строка]

Дополнительные переменные окружения, которые должны быть установлены для дочернего процесса.

matplotlib.testing.compare

Утилиты для сравнения результатов изображений.

matplotlib.testing.compare.calculate_rms(expected_image, actual_image)[source]

Вычислить ошибки на каждый пиксель, а затем вычислить среднеквадратическую ошибку.

matplotlib.testing.compare.comparable_formats()[source]

Возвращает список форматов файлов, которые compare_images может сравнивать на этой системе.

Возвращает:
список строк

Например, ['png', 'pdf', 'svg', 'eps'].

matplotlib.testing.compare.compare_images(expected, actual, tol, in_decorator=False)[source]

Сравнивает два файла "изображений", проверяя различия в пределах допуска.

Два заданных имени файлов могут указывать на файлы, которые могут быть преобразованы в PNG с помощью converter. Базовая среднеквадратическая ошибка рассчитывается с помощью функции calculate_rms.

Параметры:
expectedстрока

Имя файла ожидаемого изображения.

actualстрока

Имя файла фактического изображения.

tolчисло с плавающей запятой

Допуск (различие значений цвета, где 255 - максимальное различие). Тест завершается неудачей, если среднее различие пикселей превышает это значение.

in_decoratorbool

Определяет формат вывода. Если вызвана из декоратора image_comparison, это должно быть True. (по умолчанию=False)

Возвращает:
None или dict или строка

Возвращает 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

классmatplotlib.testing.decorators.CleanupTestCase(methodName='runTest')[source]

Основывается на: TestCase

[Устарело] Обёртка для unittest.TestCase, включающая операции очистки.

Примечания

Устарело начиная с версии 3.6: Используйте переданную копию существующего кода, включая закрытую функцию _cleanup_cm.

Создаёт экземпляр класса, который будет использовать указанный метод тестирования при выполнении. Вызывает ValueError, если у экземпляра отсутствует метод с указанным именем.

метод классаsetUpClass()[source]

Метод подключения для настройки фикстуры класса перед запуском тестов в классе.

метод классаtearDownClass()[source]

Метод подключения для разборки фикстуры класса после выполнения всех тестов в классе.

matplotlib.testing.decorators.check_figures_equal(*, extensions=('png', 'pdf', 'svg'), tol=0)[source]

Декоратор для тестовых случаев, которые генерируют и сравнивают две фигуры.

Декорированная функция должна принимать два ключевых аргумента, fig_test и fig_ref, и рисовать тестовые и эталонные изображения на них. После возвращения функции фигуры сохраняются и сравниваются.

Этот декоратор следует предпочитать image_comparison по возможности, чтобы предотвратить раздувание набора тестов.

Параметры:
extensionsсписок, по умолчанию: ["png", "pdf", "svg"]

Расширения для проверки.

tolвещественное число

Пороговое значение 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 или список str

Список расширений для проверки, например ['png', 'pdf']

Если None, по умолчанию используется все поддерживаемые расширения: png, pdf и svg.

При тестировании одного расширения его можно напрямую включить в имена, переданные в baseline_images. В этом случае extensions не должен устанавливаться.

Чтобы предотвратить раздувание набора тестов, мы включаем только выводы svg или pdf, если тест явно использует функцию, зависящую от этого бэкэнда (см. также декоратор check_figures_equal для этой цели).

tolвещественное число, по умолчанию: 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.7.5/api/testing_api.html

Spec-Zone.ru

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