Flask测试为什么测试会失败

2024-04-20 10:56:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图为一个简单的Flask应用程序编写测试。项目结构如下:

app/
    static/
    templates/
    forms.py
    models.py
    views.py
migrations/
config.py
manage.py
tests.py

在测试.py在

^{pr2}$

应用程序/init.py

# app/__init__.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from config import config

db = SQLAlchemy()

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    db.init_app(app)
    return app

app = create_app('default')

from . import views

当我启动测试时,test嫒hello失败了,因为响应状态代码是404。请告诉我,我怎样才能修好它?看起来,这个应用实例对视图函数一无所知视图.py. 如果它需要整个代码,可以找到here


Tags: 代码namefrompyimportconfigapp应用程序
1条回答
网友
1楼 · 发布于 2024-04-20 10:56:41

您的views.py文件在__init__.py文件中创建的app中装入路由。在

您必须在create_app测试方法中将这些路由绑定到您创建的应用程序。在

我建议你改变依赖关系。相反,views.py导入您的代码,您可以使一个init_app从您的__init__.py或测试文件导入并调用。在

# views.py
def init_app(app):
    app.add_url_rule('/', 'index', index)
    # repeat to each route

使用Blueprint可以做得更好。在

^{pr2}$

这样,测试文件就可以导入这个init_app,并将蓝图绑定到测试app对象。在

相关问题 更多 >