matplotlib.testing#

matplotlib.test()#

matplotlib。测试详细度=覆盖率= ** kwargs[来源] #

[已弃用] 运行 matplotlib 测试套件。

笔记

3.5 版后已弃用:改用 pytest。

matplotlib.testing#

用于测试的辅助函数。

matplotlib.testing。set_font_settings_for_testing ( ) [来源] #
matplotlib.testing。set_reproducibility_for_testing ( ) [来源] #
matplotlib.testing。设置( ) [来源] #
matplotlib.testing。subprocess_run_helper ( func , * args , timeout , extra_env = None ) [source] #

在子进程中运行函数。

参数
函数函数

要运行的函数。它必须位于可导入的模块中。

*args字符串

要在第一个参数中传递给subprocess.run.

extra_env字典 [str, str]

要为子流程设置的任何其他环境变量。

matplotlib.testing.compare#

用于比较图像结果的实用程序。

matplotlib.testing.compare。calculate_rms ( expected_image , actual_image ) [来源] #

计算每像素误差,然后计算均方根误差。

matplotlib.testing.compare。可比较格式( ) [来源] #

compare_images返回可以在此系统上比较的文件格式列表。

返回
str 列表

例如。['png', 'pdf', 'svg', 'eps']

matplotlib.testing.compare。compare_images (预期,实际, tol , in_decorator = False ) [来源] #

比较两个“图像”文件,检查公差范围内的差异。

两个给定的文件名可能指向可通过converter字典转换为 PNG 的文件。基础 RMS 使用该calculate_rms函数计算。

参数
预期的str

预期图像的文件名。

实际str

实际图像的文件名。

浮动_

容差(颜色值差异,其中 255 是最大差异)。如果平均像素差大于此值,则测试失败。

in_decorator布尔值

确定输出格式。如果从 image_comparison 装饰器调用,这应该是 True。(默认=假)

返回
无或 dict 或 str

如果图像在给定的容差内相等,则返回None 。

如果图像不同,则返回值取决于in_decorator。如果in_decorator为真,则返回包含以下条目的字典:

  • rms:图像差异的 RMS。

  • 预期:预期图像的文件名。

  • 实际:实际图像的文件名。

  • 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' ) [来源] #

基地:TestCase

[已弃用] unittest.TestCase 的包装器,包括清理操作。

笔记

3.6 版后已弃用:使用现有代码的供应商副本,包括私有函数 _cleanup_cm。

创建将在执行时使用命名测试方法的类的实例。如果实例没有具有指定名称的方法,则引发 ValueError。

类方法 setUpClass ( ) [来源] #

在类中运行测试之前设置类夹具的钩子方法。

classmethod tearDownClass ( ) [source] #

在类中运行所有测试后解构类夹具的钩子方法。

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

用于生成和比较两个图形的测试用例的装饰器。

装饰函数必须采用两个关键字参数,fig_testfig_ref,并在它们上绘制测试和参考图像。函数返回后,保存数字并进行比较。

在可能的情况下,应该优先使用此装饰器image_comparison,以防止测试套件的大小膨胀。

参数
扩展名列表,默认:["png", "pdf", "svg"]

要测试的扩展。

浮动_

高于该阈值的测试被视为失败的 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 ) [来源] #

[已弃用]

笔记

3.6 版后已弃用:改用 _check_freetype_version 现有代码的供应商副本。

matplotlib.testing.decorators。清理( style = None ) [来源] #

[已弃用] 一个装饰器,用于确保在运行测试之前重置任何全局状态。

参数
样式str、dict 或列表,可选

要应用的样式。默认为.["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 将引发异常。

参数
基线图像列表或无

一个字符串列表,指定调用生成的图像的名称Figure.savefig

如果None,测试功能必须使用baseline_images夹具,作为参数或 with pytest.mark.usefixtures。仅在使用 pytest 时才允许使用此值。

扩展无或 str 列表

要测试的扩展列表,例如.['png', 'pdf']

如果None,默认为所有支持的扩展名:png、pdf 和 svg。

在测试单个扩展时,它可以直接包含在传递给baseline_images的名称中。在这种情况下,不得设置扩展名。

为了防止测试套件的大小膨胀,我们仅在测试显式执行依赖于该后端的功能时才包含svgpdf输出(另请参见 check_figures_equal用于该目的的装饰器)。

tol浮动,默认值:0

高于该阈值的测试被视为失败的 RMS 阈值。

由于浮点计算中预期的微小差异,在 32 位系统上,此阈值会额外增加 0.06。

freetype_version str 或元组

此测试通过的预期 freetype 版本或版本范围。

remove_text布尔值

在比较之前从图中删除标题和勾选文本。这有助于使基线图像独立于不同版本的 FreeType 之间的文本呈现变化。

这不会删除其他更经过深思熟虑的文本,例如图例和注释。

savefig_kwarg字典

传递给 savefig 方法的可选参数。

样式str、dict 或列表

应用于图像测试的可选样式。如果需要,测试本身也可以应用其他样式。默认为.["classic", "_classic_test_patch"]

matplotlib.testing.decorators。remove_ticks_and_titles () [来源] #

matplotlib.testing.exceptions#

异常 matplotlib.testing.exceptions。ImageComparisonFailure [来源] #

基地:AssertionError

引发此异常以将测试标记为两个图像之间的比较。