首页 > 解决方案 > 如何从终端linux设置一个值?

问题描述

我有个问题。我在问题的帮助下运行测试。一开始,测试调用了一个方法,该方法使我输入数据库的地址(我正在测试的地方)。但是,我收到一个错误:

element = "http://" +sys.stdin.readline()../../python/lib/python3.6/site-packages/_pytest/capture.py:702: in read
raise IOError ("reading from stdin while output is captured")

E OSError:在捕获输出时从标准输入读取

在我的代码下方。

@staticmethod
def setAddress():
    print("Give database:")
    element = "http://"+sys.stdin.readline()
    return element

我需要地址添加http。如何更改我的代码?感谢帮助!

标签: pythonpytest

解决方案


在 shell 中运行测试时设置环境变量:

DB_URL=http://xxx pytest

然后在您的测试中检索它:

import os

…

db_url = os.getenv('DB_URL')

推荐阅读