如何在pyproject.toml中使用pytest-env配置pytest测试环境变量
pytest-env 结合 pyproject.toml 的环境变量配置方法
pytest-env 插件对配置项的解析逻辑是统一的:无论从 pytest.ini 还是 pyproject.toml 读取配置,都会逐行将配置内容解析为键 = 值格式的环境变量条目。
你之前尝试的env = [{DATA_DIR = "data/test_assets"}]写法属于TOML内联对象结构,不符合插件约定的配置格式,插件无法正确识别这类内容,自然无法完成环境变量注入。
正确的配置写法
在[tool.pytest.ini_options]节点下,将每个环境变量写为独立的字符串数组条目,和pytest.ini里逐行书写的env内容一一对应:
[tool.pytest.ini_options] env = [ "DATA_DIR = data/test_assets", # 可按需追加更多环境变量条目 "LOG_LEVEL = INFO" ]
配置注意事项
- 数组内每个字符串条目直接写完整的
变量名 = 变量值内容,不需要额外嵌套TOML的键值对对象结构 - 等号两侧的空格会被插件自动裁剪,不影响最终环境变量的赋值效果
- 该配置格式从 pytest-env 0.6.0 版本开始正式支持,完全兼容 pytest 6.0+ 引入的 pyproject.toml 配置规范
内容的提问来源于stack exchange,提问作者Seanny123
相关产品推荐
相关产品推荐

