栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

运行FlaskClient测试方法时的404响应

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

运行FlaskClient测试方法时的404响应

您没有正确使用工厂模式。您应该使用蓝图收集路线并在工厂中将其注册到应用程序中。(或

app.add_url_rule
在工厂中使用。)工厂外的任何物品均不影响应用程序。

现在,您创建该应用程序的实例,然后使用该实例注册路由。然后,您在测试中创建另一个实例,该实例未注册路由。由于该实例没有任何注册的路由,因此它会返回404以请求对这些url的请求。

相反,请向蓝图注册您的路线,然后在工厂中向应用程序注册蓝图。在测试过程中使用工厂创建应用程序。将工厂传递给Flask-
script管理器。您无需手动推送应用上下文。

from flask import Flask, Blueprintfrom flask_script import Managerfrom unittest import TestCasebp = Blueprint('myapp', __name__)@bp.route('/')def index():    return 'Hello, World!'def create_app(config='dev'):    app = Flask(__name__)    # config goes here    app.register_blueprint(bp)    return appclass SomeTest(TestCase):    def setUp(self):        self.app = create_app(config='test')        self.client = self.app.test_client()    def test_index(self):        rv = self.client.get('/')        self.assertEqual(rv.data, b'Hello, World!')manager = Manager(create_app)manager.add_option('-c', '--config', dest='config', required=False)if __name__ == '__main__':    manager.run()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号