Spec-Zone.ru › Matplotlib 3.3

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 может сравнивать на этой системе.

Возвращает:
список 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)

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

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

Список строк, содержащих имена изображений, сгенерированных вызовами 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, 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

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.3.3/api/testing_api.html

Spec-Zone.ru

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