gpt4 book ai didi

python - pytest 和 tox 的环境变量

转载 作者:太空宇宙 更新时间:2023-11-04 07:33:42 26 4
gpt4 key购买 nike

如何使用 pytest 和 tox 测试环境变量?

验证.py

ENV_VAR = os.environ['ENV_VAR']

def validate_env_var(value):
if value != ENV_VAR:
raise Exception

测试验证.py

class TestValidateEnvVar:
def test_validate_env_var_pass(self):
value = 'valid_env_value'
os.environ["ENV_VAR"] = value
validate.validate_env_var(value)

如果我在 tox.ini 文件中设置环境变量:

[testenv]
setenv = ENV_VAR=valid_env_value

测试通过,但我想保持测试隔离。

最佳答案

我在测试运行之前设置了 ENV_VAR 变量时遇到了问题。validate 模块必须在测试中重新加载才能使用 imp.reload

正常工作

测试验证.py

import mock
from imp import reload
class TestValidateEnvVar:
@mock.patch.dict(os.environ, {"ENV_VAR": "env_value"})
def test_validate_env_var_pass(self):
reload(validate)
value = 'env_value'
os.environ["ENV_VAR"] = value
validate.validate_env_var(value)

关于python - pytest 和 tox 的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41430465/

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