python - flask 测试信号不支持错误

标签 python flask 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,我也会收到此错误。很难找到任何解决方案。

最佳答案

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

您需要安装 blinker库启用 signal support在 Flask 中。

$ pip install blinker

关于python - flask 测试信号不支持错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38491075/

相关文章:

python - 用于查找子图同构的 QuickSI 算法

python - 使用 MoviePy 或 FFmpeg 连接 Python 列表中的电影

python - 仅在生产中自定义模板标签的受限属性

python - Flask-SQLAlchemy 更新一对多记录

python - 使用 SQLAlchemy 如何在使用 db.create_all() 创建数据库后填充行

flask 测试客户端帖子不会在数据库中创建对象

python - 在 Python 回归样条中选择节点

python - Jinja2 中的访问变量包括

python - Flask 测试中未修改 session key

python - 从同级目录导入文件