跳转到主要内容

PyTest Molecule 插件 :: 发现和运行molecule测试

项目描述

PyPI version Python versions See Build Status on Zuul CI Python Black Code Style

PyTest Molecule 插件 :: 自动检测并运行 molecule 测试


此插件使 pytest 能够发现代码库中所有 molecule.yml 文件,并将它们作为 pytest 测试运行。

安装 pytest-molecule 后,您应该可以直接运行 pytest 来在所有角色和场景上运行 molecule。

您可以选择定义 MOLECULE_OPTS 来为每个 molecule 调用传递额外的参数。

发现的测试已经添加了 molecule driverplatforms 作为 markers,因此您可以选择性地限制要运行的测试类型

# Lists all tests that uses docker
$ pytest --collect-only -m docker

# Runs scenarios with platform named centos7 and delegated driver:
$ pytest -m delegated -m centos7

如果 molecule 场景不包含有关驱动程序的信息,则与其关联的测试会获得 no_driver 标记。

请注意,目前如果标记是平台,molecule 将运行整个场景,这不是限制在特定场景内执行哪些平台的方法。

所有测试都添加了 molecule 标记。

此插件还添加了一个名为 --molecule-unavailable-driver=skip 的新 pytest 选项,用于在 molecule 驱动程序无法加载时指定要执行的操作。当前默认值为 None,但您可以选择标记如 skipxfail

使用 xfail 和 skip 标记

如果您需要跳过或忽略某个特定场景,只需在其配置文件中的标记列表中添加 xfailskip

markers:
  - xfail  # broken scenario, pytest will run it but ignore the result

安装

您可以通过 pipPyPI 安装“pytest-molecule”

$ PIP_NO_BUILD_ISOLATION=false pip install pytest-molecule

PIP_NO_BUILD_ISOLATION 只在旧的 Python 发行版中需要,以解决 https://github.com/pypa/pip/issues/5229 的问题

贡献

欢迎贡献。可以使用 tox 运行测试,请确保在提交拉取请求之前覆盖率至少保持不变。

许可证

根据 MIT 许可证分发,“pytest-molecule”是免费和开源软件

问题

如果您遇到任何问题,请 提交问题 并附上详细描述。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

pytest-molecule-2.0.0.tar.gz (19.4 kB 查看哈希值)

上传时间

构建分发

pytest_molecule-2.0.0-py3-none-any.whl (7.7 kB 查看哈希值)

上传时间 Python 3

由以下支持