Spec-Zone.ru › Matplotlib 3.4

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]

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

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"].

END_OF_DOCUMENT_MARKER
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

Spec-Zone.ru

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