Saš*_*aba 11 python testing unit-testing flask flask-testing
我必须测试一个从request.args获取某些信息的视图.
我无法模仿这个,因为视图中的很多东西都使用了请求对象.我能想到的唯一选择是手动设置request.args.
我可以用test_request_context()做到这一点,例如:
with self.app.test_request_context() as req:
req.request.args = {'code': 'mocked access token'}
MyView()
Run Code Online (Sandbox Code Playgroud)
现在,此视图中的请求将包含我已设置的参数.但是我需要调用我的视图,而不仅仅是初始化它,所以我使用它:
with self.app.test_client() as c:
resp = c.get('/myview')
Run Code Online (Sandbox Code Playgroud)
但我不知道如何以这种方式操纵请求参数.
我试过这个:
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')
Run Code Online (Sandbox Code Playgroud)
但是这没有设置request.args.
dav*_*ism 18
将query_string参数传递给c.get,可以是a dict,a MultiDict或已编码的字符串.
with app.test_client() as c:
r = c.get('/', query_string={'name': 'davidism'})
Run Code Online (Sandbox Code Playgroud)
该测试客户端的请求方法通过他们的论点WERKZEUG的EnvironBuilder,这也正是这个是记录.
| 归档时间: |
|
| 查看次数: |
4022 次 |
| 最近记录: |