Spec-Zone.ru › Matplotlib 3.5

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

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

Spec-Zone.ru

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