簡體   English   中英

如何使用 Flask test_client 設置請求參數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM