pytest插件,为测试/固定装置提供变量
项目描述
pytest-variables是一个pytest插件,它通过命令行指定的文件,将变量以字典形式提供给测试/固定装置。
要求
要使用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 查看哈希值)