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
Другие вопросы по тегам