Flaskアプリケーションでunittestを実行していますが、使用されていなくてもviews.py
ファイルをインポートしないと404を取得し続けます。私は、ビューのような問題が発生したインポート削除するとFlaskはビューで404を返します
import unittest
from presence_analyzer import main, utils
from presence_analyzer import views
class PresenceAnalyzerViewsTestCase(unittest.TestCase):
def setUp(self):
self.client = main.app.test_client()
def test_mainpage(self):
resp = self.client.get('/')
self.assertEqual(resp.status_code, 302)
:私は、このようなtests.py
パッケージを持っています。ビューは、これと同様の方法で編成されています。
from presence_analyzer.main import app
@app.route('/')
def mainpage():
return redirect('/static/presence_weekday.html')
そしてmain.py
ファイル:
import os.path
from flask import Flask
app = Flask(__name__) # pylint: disable=invalid-name
app.config.update(
DEBUG=True,
)
私はそれがin this caseを何が起こったかのようなものだと思うので、私はそのようにアプリケーションを変更しようとしています私はテスト中にこのばかな輸入をする必要はありません。私は上記の答えを利用しようとしていますが、まだそれを動作させることはできません。these docsは役に立たないと思われます。私は間違って何をしていますか? main.py
:
from flask.blueprints import Blueprint
PROJECT_NAME = 'presence_analyzer'
blue_print = Blueprint(PROJECT_NAME, __name__)
def create_app():
app_to_create = Flask(__name__) # pylint: disable=invalid-name
app_to_create.register_blueprint(blue_print)
return app_to_create
app = create_app()
views.py
:
from presence_analyzer.main import app, blue_print
@blue_print.route('/')
def mainpage():
return redirect('/static/presence_weekday.html')
そしてtests.py
は変わっていません。
あなたは 'views'をインポートしていないので、ルートは決して登録されません。 – davidism
私はそれについて書いた。私はこの輸入を呼び出す必要がない方法を探しています。私がそこにリンクした答えを理解する限り、これを行う必要はありません。 – gonczor
実行したいものをインポートする必要があります。その周りに方法はありません。 – davidism