2016-05-11 38 views
1

私はo'reillyが出版した "Flask Web Development"を読んでいます。フラスコプロジェクトでunittestを実行するにはどうすればいいですか?

|-app/ 
|-tests/ 
    |-__init__.py 
    |-test_basics.py 
|-manage.py 
|-config.py 

そしてtest_basics.pyが

from app import create_app 

が、私はそれがtest_basicsが同じでないときにアプリをインポートするためにどのように機能するか疑問に思うことを示しています。第7章では、著者は、基本的な構造は以下のようであることを示していますアプリパッケージとしてのレベル?

test_basicsを呼び出す方法は何ですか? "python test_basics.py"または "python manage.py test"を使用して、アプリケーションをtest_basicsのパラメータとして渡しますか?本のためのサンプルプロジェクトでは、次のコマンドを使用して、ルートプロジェクトディレクトリからのユニットテストを実行することができます

+0

http://pytest.org/latest/goodpractices.html#goodpractices – davidism

+0

python test_basics.pyを使用している場合、test_basics.pyはappと同じレベルではないため、 'from app import create_app'は機能しません。 testがmanage.pyによって呼び出された場合、呼び出し元はappと同じレベルになります。 –

答えて

0

python manage.py test 

from app import create_appステートメント作品輸入は相対的ではないため、それらはから評価されていますカレントディレクトリ。相対インポートを使用する場合は、モジュール名の前にドットを追加します。

関連する問題