gpt4 book ai didi

python - 如何使用 Flask test_client 设置请求参数?

转载 作者:太空狗 更新时间:2023-10-29 18:00:03 28 4
gpt4 key购买 nike

我必须测试从 request.args 获取特定信息的特定 View 。

我不能模拟这个,因为 View 中的很多东西都使用请求对象。我能想到的唯一替代方法是手动设置 request.args

我可以用 test_request_context() 做到这一点,例如:

with self.app.test_request_context() as req:
req.request.args = {'code': 'mocked access token'}
MyView()

现在此 View 中的请求将具有我设置的参数。但是我需要调用我的 View ,而不仅仅是初始化它,所以我使用这个:

with self.app.test_client() as c:
resp = c.get('/myview')

但我不知道如何以这种方式操作请求参数。

我试过这个:

with self.app.test_client() as c:
with self.app.test_request_context() as req:
req.request.args = {'code': 'mocked access token'}
resp = c.get('/myview')

但这并没有设置request.args

最佳答案

query_string参数传递给c.get,它可以是dictMultiDict,或已经编码的字符串。

with app.test_client() as c:
r = c.get('/', query_string={'name': 'davidism'})

test client request methods将他们的论点传递给 Werkzeug 的 EnvironBuilder ,这是记录的地方。

关于python - 如何使用 Flask test_client 设置请求参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38747784/

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