2016-07-20 20 views
3

テストを実行すると、次のトレースバックが表示されます。フラスコテストシグナルがサポートされていないエラー

in get_context_variable 
raise RuntimeError("Signals not supported") 
RuntimeError: Signals not supported 

__init__.py

from flask_testing import TestCase 

from app import create_app, db 


class BaseTest(TestCase): 
    BASE_URL = 'http://localhost:5000/' 

    def create_app(self): 
     return create_app('testing') 

    def setUp(self): 
     db.create_all() 

    def tearDown(self): 
     db.session.remove() 
     db.drop_all() 

    def test_setup(self): 
     response = self.client.get(self.BASE_URL) 
     self.assertEqual(response.status_code, 200) 

test_routes.py

from . import BaseTest 


class TestMain(BaseTest): 

    def test_empty_index(self): 
     r = self.client.get('/') 
     self.assert200(r) 
     self.assertEqual(self.get_context_variable('partners'), None) 

エラーがどこから来ているget_context_variable関数呼び出しがあることが表示されます。私が試してみてassert_template_usedを使ってもこのエラーが出ます。この問題を解決するにはかなり時間がかかります。

答えて

5

Flaskはオプションの依存関係としてのみシグナルを提供します。 Flask-Testingはいくつかの場所でシグナルを必要とし、あなたが何かをしないと何かをしようとするとエラーが発生します。何らかの理由で、いくつかのメッセージは他のものよりも曖昧です。Flask-Testingは他の場所で発生します。 (これは、プルリクエストを貢献する初心者のための良い場所です。)

あなたはフラスコ内のsignal supportを有効にするblinkerライブラリをインストールする必要があります。

$ pip install blinker 
関連する問題