Spec-Zone.ru › Matplotlib 3.2

matplotlib.testing

matplotlib.testing

Вспомогательные функции для тестирования.

matplotlib.testing.is_called_from_pytest() [source]

[Устаревшее] Определяет, выполняем ли мы тест в рамках pytest.

Примечания

Устарело начиная с версии 3.2.

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.comparable_formats() [source]

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

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

Возвращает:
comparison_resultNone or dict or str

Возвращает None, если изображения равны в пределах заданной толерантности.

Если изображения различаются, значение возврата зависит от in_decorator. Если in_decorator истинно, возвращается словарь со следующими записями:

  • rms: Значение 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]

Наследуется от 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, превышение которого приводит к неудаче теста.

Примеры

Проверка, что вызов 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"].

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_imageslist or None

Список строк, указывающих имена изображений, сгенерированных вызовами matplotlib.figure.savefig().

Если None, функция теста должна использовать фикстуру baseline_images, либо в качестве параметра, либо с pytest.mark.usefixtures. Это значение разрешено только при использовании pytest.

extensionsNone or list of str

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

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

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

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

tolfloat, optional, default: 0

Порог RMS, превышение которого приводит к неудаче теста.

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]
END_OF_DOCUMENT_MARKER
matplotlib.testing.decorators.switch_backend(backend) [source]

[Устаревший]

Примечания

Устарел начиная с версии 3.1:

matplotlib.testing.exceptions

exception matplotlib.testing.exceptions.ImageComparisonFailure [source]

Базы: AssertionError

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

© 2012–2018 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.2.2/api/testing_api.html

Spec-Zone.ru

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