python - 如何从终端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。如何更改我的代码?感谢帮助!
解决方案
在 shell 中运行测试时设置环境变量:
DB_URL=http://xxx pytest
然后在您的测试中检索它:
import os
…
db_url = os.getenv('DB_URL')
推荐阅读
- javascript - Angular 8 在点击时使用 ngFor 切换 CSS 类
- string - 未处理的异常:“字符串”类型不是“列表”类型的子类型
'的'价值' - c++ - 队列基本函数(put)调用(程序崩溃)
- java - 从 Spring Data JpaRepository 返回 @id 字段
- php - 想在 woocommerce 单品页面显示低于正常价格的销售价格
- javascript - Express HTTP Only Cookie 问题
- python - 如何在 SQLAlchemy 的过滤条件中传递模型参数
- c# - 无法实现 RequestHandler 工作 CefSharp winforms C#
- powershell - 用于操作分隔文本文件的 PowerShell 脚本
- angular - 如何从angular9中的子组件重定向到父路由?