我将如何测试我的应用程序中的cookie,这些cookie是在请求过程中以pythonic的方式设置的?我目前这样做的方式(有效)并不是很方便,但这里是:
def test_mycookie(app, client):
def getcookie(name):
try:
cookie = client.cookie_jar._cookies['mydomain.dev']['/'][name]
except KeyError:
return None
else:
return cookie
with app.test_request_context():
client.get('/non-existing-path/')
assert getcookie('mycookie') is None
client.get('/')
assert getcookie('mycookie').value == '"xyz"'
使用flask.request.cookies
并不适合我,因为它总是返回一个空字典。也许我做错了?
def test_mycookie2(app, client):
with app.test_request_context():
client.get('/non-existing-path/')
assert 'mycookie' not in request.cookies
client.get('/')
request.cookies['mycookie'] # Raises KeyError
答案 0 :(得分:0)
这个怎么样?使用with app.test_client() as tc:
tc.get('/non-existing-path/')
assert 'mycookie' not in request.cookies
tc.get('/')
print request.cookies['mycookie']
会让我们更长时间地保持上下文。
<div class="social twitter"></div>
另外,请给我们一个最小的例子,以便我们可以重现这个问题。