如何解决如何使用 pytest pyproject.toml 插入测试时环境变量
通常,在使用 find -name yes.sh -exec {} +
find -name yes.sh -exec < argument > {} +
插件为 pytest
定义环境变量时,这是使用 pytest-env
完成的:
pytest.ini
[pytest]
env =
data_dir = data/test_assets
从 6.0 开始支持 pytest
。应该如何以这种格式定义环境变量?以下方法不起作用:
pyproject.toml
解决方法
因此问题出在 pytest-env
插件上。首先,它似乎已被其维护者放弃,因为它自 2017 年以来一直没有更新。归结为插件如何解析 here 所示的 toml
文件部分。>
问题特别在于 line。解析 pyproject.toml
的内容时,它会将您所拥有的内容转换为以下内容:
part = e.partition("=")
# ('{DATA_DIR ','=',' "data/test_assets"}')
key = part[0].strip()
# '{DATA_DIR'
这意味着它将您的环境变量转换为具有 '{DATA_DIR'
的键,因此它似乎没有按预期工作。您需要切换回之前用于环境变量的格式,或者删除大括号,因为它们似乎与此插件不匹配。
正确的格式是:
env = [
"DATA_DIR = data/test_assets","ROSETTA = rosetta/main"
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。