Flask-Testing信号不支持错误

Ada*_*dam 5 python flask flask-testing

运行我的测试时,我得到以下回溯.

in get_context_variable
raise RuntimeError("Signals not supported")
RuntimeError: Signals not supported
Run Code Online (Sandbox Code Playgroud)

__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)
Run Code Online (Sandbox Code Playgroud)

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)
Run Code Online (Sandbox Code Playgroud)

似乎get_context_variable函数调用是错误来自的地方.如果我尝试使用,我也会收到此错误assert_template_used.找到任何解决方案都很困难.

dav*_*ism 7

Flask仅提供信号作为可选依赖项.Flask-Testing在某些地方需要信号,如果你试图在没有它们的情况下做某事,就会引发错误.出于某种原因,某些消息比其他地方的Flask-Testing更加模糊. (这是初学者提供拉取请求的好地方.)

您需要安装闪光灯库以在Flask中启用信号支持.

$ pip install blinker
Run Code Online (Sandbox Code Playgroud)