2017-10-02 17 views
0

こんにちは、私は次のプロジェクト構造にフラスコ - テストフォルダからテストを実行することができません(相対インポートを実行することはできません)

  • プロジェクト
    • アプリ/
      • のinitの.py
      • を持っています
      • views.py
      • forms.py
      • models.py
      • 静的/
      • テンプレート/
      • run.py
      • テスト/
      • config.py
      • project_database.db
      • requirements.txt
      • test_project.py

run.py

from app import app 
if __name__ == '__main__': 
    app.run() 

APP/INITの.py

from flask import Flask                 
from playhouse.flask_utils import FlaskDB 

app = Flask(__name__, instance_relative_config=True) 

app.config.from_object('config.DevelopmentConfig') 

flask_db = FlaskDB(app) 

database = flask_db.database 

from app import views 

テスト/ test_project.py

from ..app import app 
import unittest 

class TestProject(unittest.TestCase): 
     ''' tests''' 

私は私のテストを実行しようとすると、私は次のエラー

Traceback (most recent call last): File "tests/test_status_code.py", line 1, in <module> 
from ..app import app SystemError: Parent module '' not loaded, cannot perform relative import 

を取得し、私は、フォルダの外にテストファイルを移動した場合、それは動作しますが、私はそうフォルダにそれを持ってしたいと思います私はそこにすべてのテストファイルを持つことができます。

私は0.12.2

おかげで、次の

import sys 
sys.path.append('../') 
from app import app 
import unittest 

Class TestProject(unittest.TestCase): 

を行うことで、この作業を取得しかし、ちょうどこの作品引き起こすマネージド

+0

あなたはinit.pyの名前を__init__.py –

+0

に変更しようとしました。私のinit.pyは削除された質問を投稿したときに既に二重のアンダースコアを持っています。 – benjyz

答えて

0

がこの権利であるか、そこにあるANFフラスコのpython 3.5を使用していますより良いpythonic方法ですか?

関連する問題