gpt4 book ai didi

python - 为什么使用 monkeypatch.setenv 而不是 os.putenv

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:06 27 4
gpt4 key购买 nike

pytest 的 monkeypatch模块提供了一个setenv 函数,它将设置环境变量名称为值。 为什么monkeypatch 提供这个?听起来和os.putenv一样?它提供了 prepend 参数作为一种便利,但这似乎是一个用于设置环境变量的新函数的弱理由。

最佳答案

这是关于拆除测试在环境中所做的更改。如果你只使用os.putenv,或者直接修改os.environ,那么你的修改即使在测试结束后也会保留。这意味着下一个运行的测试也将应用更改!由于测试不一定按顺序进行,这意味着您不再有可重复且可靠的测试执行。

单个测试更改某些全局可变状态是不可取的,因此当您需要在测试期间配置环境变量时,可以使用上下文管理器或提供的 fixture 。

关于python - 为什么使用 monkeypatch.setenv 而不是 os.putenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38410878/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com