跳转到主要内容

pytest插件,为测试/固定装置提供变量

项目描述

pytest-variables是一个pytest插件,它通过命令行指定的文件,将变量以字典形式提供给测试/固定装置。

License PyPI Travis Issues Requirements

要求

要使用pytest-variables,您需要以下先决条件

  • Python 3.8+或PyPy3

安装

安装 pytest-variables

$ pip install pytest-variables

其他格式

以下可选格式受支持,但必须显式安装,因为它们需要额外的依赖项

人类 JSON

人类 JSON 是一种针对人类的配置文件格式,有助于减少人类犯的错误。要安装人类 JSON 支持

$ pip install pytest-variables[hjson]

YAML

YAML 是一种针对所有编程语言的友好数据序列化标准。要安装 YAML 支持

$ pip install pytest-variables[yaml]

YAML 加载器

您可以通过在 pytest.ini(或类似文件)中设置 yaml_loader 来指定要使用的加载器

  • BaseLoader

  • SafeLoader

  • FullLoader(默认值)

  • UnsafeLoader

[pytest]
yaml_loader = BaseLoader

注意 加载器区分大小写。

要了解更多关于加载器的信息,请参阅 此处

TOML

TOML 致力于成为一种最小化配置文件格式,易于阅读,因为它具有明显的语义。TOML 设计为明确映射到散列表。要安装 TOML 支持

$ pip install pytest-variables[toml]

贡献

我们欢迎贡献。

要了解更多信息,请参阅 开发

指定变量

使用 –variables 命令行选项一次或多次指定包含您的变量的文件路径

$ pytest --variables firefox-53.json --variables windows-10.json

以下为 firefox-53.json 文件的以下内容

{
  "capabilities": {
    "browser": "Firefox",
    "browser_version": "53.0"
  }
}

以及另一个名为 windows-10.json 的文件

{
  "capabilities": {
    "os": "Windows",
    "os_version": "10",
    "resolution": "1280x1024"
  }
}

您将获得变量的合并版本

{
  "capabilities": {
    "browser": "Firefox",
    "browser_version": "53.0",
    "os": "Windows",
    "os_version": "10",
    "resolution": "1280x1024"
  }
}

如果指定了多个文件,则将按命令行上出现的顺序应用它们。当遇到具有非 字典 值的重复键时,最后应用的将具有优先权。

访问变量

使用如下 JSON 变量文件

{
  "foo": "bar",
  "bar": "foo"
}

指定 variables funcarg 以使变量可用于您的测试。文件的内容作为 字典 提供

def test_foo(self, variables):
    assert variables['foo'] == 'bar'
    assert variables.get('bar') == 'foo'
    assert variables.get('missing') is None

资源

项目详情


下载文件

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

源分布

pytest_variables-3.1.0.tar.gz (7.4 kB 查看哈希值

上传时间

构建分布

pytest_variables-3.1.0-py3-none-any.whl (6.1 kB 查看哈希值

上传于 Python 3

支持