您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python模拟补丁os.environ并返回值

Python模拟补丁os.environ并返回值

您可以尝试此解决方案。只需调用conn一个dummy参数即可:

import MysqL.connector
import os, urlparse


@mock.patch.dict(os.environ, {"DATABASE_URL": "mytemp"})
def conn(mock_A):
    print os.environ["mytemp"]
    if "DATABASE_URL" in os.environ:
        url = urlparse(os.environ["DATABASE_URL"])
        g.db = MysqL.connector.connect(
            user=url.username,
            password=url.password,
            host=url.hostname,
            database=url.path[1:],
        )
    else:
        return "Error"

或者,如果您不想修改原始功能,请尝试以下解决方案:

def func():
    print os.environ["mytemp"]


def test_func():
    k = mock.patch.dict(os.environ, {"mytemp": "mytemp"})
    k.start()
    func()
    k.stop()


test_func()
python 2022/1/1 18:46:49 有330人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶