Pytest-pyvista软件包
项目描述
用于测试PyVista绘图输出的插件。
此pytest插件由Cookiecutter生成,并使用了@hackebrot的cookiecutter-pytest-plugin模板。
功能
此插件简化了由PyVista生成的图像的比较。它使用PyVista绘图函数在首次执行时生成图像缓存。然后,后续执行将比较其结果与此缓存,因此如果代码中有任何更改导致图像生成中断,与缓存的比较将发现它。请注意,比较中存在错误容忍度,所以微小的差异不会导致失败。
需求
您必须拥有Python版本 >= 3.8,并在您的环境中安装了PyVista。
pyvista版本 >=0.37.0和vtk版本 >=9.0.0是必需的。
安装
您可以通过从PyPI使用pip安装“pytest-pyvista”。
$ pip install pytest-pyvista
或者,您也可以通过从conda-forge使用conda或mamba安装。
$ mamba install -c conda-forge pytest-pyvista
用法
安装后,您只需在测试中使用命令 pl.show()。如果不存在,插件将自动管理缓存生成和图像比较。确保在加载 PyVista 时启用 pv.OFF_SCREEN,这样在测试时 pl.show() 不会弹出任何窗口。默认情况下,对于图像比较,每个测试都应使用 verify_image_cache 固定装置。
import pyvista as pv pv.OFF_SCREEN = True def test_succeeds(verify_image_cache): pl = pyvista.Plotter() pl.add_mesh(pyvista.Sphere(), show_edges=True) pl.show()
如果大多数测试使用此功能,可能仅限于一个模块,可以使用包装版本。
@pytest.fixture(autouse=True) def wrapped_verify_image_cache(verify_image_cache): return verify_image_cache
如果您需要在测试中使用任何标志,可以修改测试中的 verify_image_cache 对象。
import pyvista as pv pv.OFF_SCREEN = True def test_succeeds(verify_image_cache): verify_image_cache.windows_skip_image_cache = True pl = pyvista.Plotter() pl.add_mesh(pyvista.Sphere(), show_edges=True) pl.show()
全局标志
这是在命令行调用 pytest 时可以使用的标志。
--reset_image_cache 在 tests/plotting/test_plotting.py 的每个测试中创建一个新的图像,不推荐用于测试或可能的主要或次要版本。
如果您想暂时忽略回归测试,例如在特定的 CI 动作上,可以使用 --ignore_image_cache。
当使用 --fail_extra_image_cache 时,如果缓存中有多余的图像,它将报告为错误。
--generated_image_dir <DIR> 将所有生成的测试图像存入 <DIR>。
--add_missing_images 将测试运行中缺少的任何图像添加到缓存中。
--image_cache_dir <DIR> 设置图像缓存目录。这将覆盖任何配置,请参见下文。
--reset_only_failed 仅重置失败测试的图像缓存。
特定于测试的标志
这些是 verify_image_cache 的属性。您可以在测试函数的开始将其设置为 True(如果需要)。
high_variance_test:如果需要,测试将通过或失败的条件阈值将增加到另一个预定的阈值。这目前是由于使用了不稳定的 VTK 版本,在稳定版本中不应这样做。
windows_skip_image_cache:对于 Windows 中绘图与 MacOS/Linux 不同的测试。
macos_skip_image_cache:对于 MacOS 中绘图与 Windows/Linux 不同的测试。
skip:如果您有一个绘制图形的测试,但不想将其输出与缓存进行比较,可以使用此标志跳过。
配置
如果您使用 pyproject.toml 或其他任何 pytest 配置 部分,请考虑配置您的测试目录位置,以避免在调用 pytest 时传递命令行参数,例如在 pyproject.toml 中。
[tool.pytest.ini_options]
image_cache_dir = "tests/plotting/image_cache"
贡献
总是欢迎贡献。可以使用 tox 运行测试,请确保在提交拉取请求之前,覆盖率至少保持不变。
许可证
在 MIT 许可证的条款下分发,pytest-pyvista 是免费和开源软件。
问题
如果您遇到任何问题,请 提交问题 并附上详细描述。
项目详情
下载文件
下载适合您平台的应用程序文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源代码分发
构建分发
pytest_pyvista-0.1.9.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6ef567f075d9be54f7adfa3de3f5ba98d475db47d8e878b9f1d249d19c27a7b6 |
|
MD5 | a078de1dc8263af72654021716f9b6ef |
|
BLAKE2b-256 | 6ad0b0c37df926f13e2ce4394c8f0ef7697b9e466ac5fbbb712bd69c2c8edac5 |
pytest_pyvista-0.1.9-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c244d2248f096f64849f07094c27be7dbb09269b5633d3f4b30cd2daeb0dee2b |
|
MD5 | 3c8062ef2eb0ceaf0267bee04e8a0f6b |
|
BLAKE2b-256 | e540ab90d25b6da144418f88b05a9c387237edc9099cc80d6f9cdb5df3d091a1 |