通常,在定义pytest
使用pytest-env
插件的环境变量时,使用以下方法完成pytest.ini
:
[pytest]
env =
DATA_DIR = data/test_assets
pytest
pyproject.toml
从 6.0 开始支持。应该如何以这种格式定义环境变量?以下不起作用:
[tool.pytest.ini_options]
env = [
{DATA_DIR = "data/test_assets"}
]
通常,在定义pytest
使用pytest-env
插件的环境变量时,使用以下方法完成pytest.ini
:
[pytest]
env =
DATA_DIR = data/test_assets
pytest
pyproject.toml
从 6.0 开始支持。应该如何以这种格式定义环境变量?以下不起作用:
[tool.pytest.ini_options]
env = [
{DATA_DIR = "data/test_assets"}
]
正确的格式是:
env = [
"DATA_DIR = data/test_assets",
"ROSETTA = rosetta/main"
]
所以问题出在pytest-env
插件上。首先,它似乎已被其维护者抛弃,因为它自 2017 年以来一直没有更新。它归结为插件如何解析文件的一部分,如此处toml
所示。
问题具体是这一行。在解析您的内容时,pyproject.toml
它将您拥有的内容转换为以下内容:
part = e.partition("=")
# ('{DATA_DIR ', '=', ' "data/test_assets"}')
key = part[0].strip()
# '{DATA_DIR'
这意味着它将您的环境变量转换为具有'{DATA_DIR'
因此它似乎没有按预期工作的关键。您需要切换回用于环境变量的先前格式或删除大括号,因为它们似乎与此插件不匹配。