[英]How to set request args with Flask test_client?
我必須測試從request.args
獲取某些信息的某個視圖。
我不能嘲笑這一點,因為視圖中的很多東西都使用請求對象。 我能想到的唯一替代方法是手動設置request.args
。
我可以用test_request_context()
做到這一點,例如:
with self.app.test_request_context() as req:
req.request.args = {'code': 'mocked access token'}
MyView()
現在這個視圖中的請求將包含我設置的參數。 但是我需要調用我的視圖,而不僅僅是初始化它,所以我使用這個:
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
,它可以是一個dict
,一個MultiDict
,或已編碼的字符串。
with app.test_client() as c:
r = c.get('/', query_string={'name': 'davidism'})
測試客戶端請求方法將它們的參數傳遞給 Werkzeug 的EnvironBuilder
,這是記錄的地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.