在我的测试用例中
with self.client:
r = self.client.get('/admin/')
print get_flashed_messages()
我看到以下输出:
^{pr2}$但是,当我设置follow_redirects=True
时
with self.client:
r = self.client.get('/admin/', follow_redirects=True)
print r.data
使用此模板:
<div class='container'>
<div id="main-div" class="with-margins">
FLASH MESSAGE HERE: {{ get_flashed_messages() }}
我看到以下输出:
<div class='container'>
<div id="main-div" class="with-margins">
FLASH MESSAGE HERE: []
你知道为什么会这样吗?在
代码:
class AuthTestConfig(TestingConfig):
TESTING = False
LOGIN_DISABLED = False
class AccessControlTest(unittest.TestCase):
def setUp(self):
self.app = create_app(AuthTestConfig)
self.client = self.app.test_client()
def tearDown(self):
pass
def test_anon_visits_member_redirects_to_login(self):
from flask import get_flashed_messages
with self.client:
r = self.client.get('/admin/', follow_redirects=True)
#print get_flashed_messages()
print r.data
从doc摘录如下:
所以,当您呈现模板时,
get_flashed_messages
会从会话中删除闪现的消息,结果是您无法在测试用例中访问它。所以您应该关闭渲染(render_templates=False,在TestCase中)相关问题 更多 >
编程相关推荐