Flask-Testing сигналы не поддерживается ошибка
При выполнении моих тестов я получаю следующую трассировку.
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
, Трудно найти решение этой проблемы.
1 ответ
Решение
Flask предоставляет сигналы только в качестве необязательной зависимости. Flask-Testing требует сигналов в некоторых местах и выдает ошибку, если вы пытаетесь что-то сделать без них. По некоторым причинам, некоторые сообщения более расплывчаты, чем другие. Flask-Testing возникает в других местах. (Это хорошее место для новичка, чтобы подать запрос на извлечение.)
Вам необходимо установить библиотеку blinker, чтобы включить поддержку сигналов во Flask.
$ pip install blinker