Мне нужно проверить определенное представление, которое получает определенную информацию от request.args.Как установить запросы args с помощью Flask test_client?
Я не могу издеваться над этим, так как много вещей в представлении использует объект запроса. Единственная альтернатива, о которой я могу думать, это вручную установить 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.
Обратите внимание, что установка 'request.args' в' dict' неверна, это фактически 'MultiDict'. – davidism
Да, но мое единственное взаимодействие с 'request.args' в моем представлении - через request.args.get ('foobar'). Другими словами, функциональность ImmutableMultiDict совершенно неактуальна здесь. И даже если это проблема, я не знаю, как ее установить. –