2017-09-30 4 views
0

、私は次の出力を参照してくださいフラスコフラッシュブレイク後の私のテストケースで

with self.client: 
    r = self.client.get('/admin/') 
    print get_flashed_messages() 

をリダイレクト:

<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: [] 

任意のアイデア?

CODE:

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 

答えて

0

docからこの抜粋があります:

点滅システムは、基本的要求の 最後にメッセージを録音し、それを次の要求にアクセスすることが可能となります次のリクエストのみ

したがって、テンプレートをレンダリングすると、get_flashed_messagesはflasheを削除しますあなたのテストケースにアクセスすることはできません。レンダリングをオフにする必要があります(TestCaseでrender_templates = False)

+0

この場合、Flask-Userはどのようにフラッシュメッセージをテストできますか? (44行目と45行目) https://github.com/lingthio/Flask-User/blob/v0.6/flask_user/tests/test_authorization.py – Sparrowcide

関連する問題