微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 pytest pyproject.toml 插入测试时环境变量

如何解决如何使用 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 举报,一经查实,本站将立刻删除。