そうですね、私はそういうフォルダ構造を持っています。ImportError:モジュールはありません - ユニットテストを実行しようとしています
└── myApp
├── app
│ ├── __init__.py
│ ├── core
│ ├── db.py
│ ├── schema.sql
│ ├── static
│ │ ├── fonts
│ │ ├── images
│ │ ├── js
│ │ └── resources
│ ├── templates
│ ├── tests
│ │ └── tests.py
│ ├── utils.py
│ ├── views.py
│ ├── con.py
├── config.py
├── manifest.json
├── run.py
├── deps
├── store
私が見ることができる通り、私のtests.pyはapp/testsフォルダにあります。
app = Flask(__name__)
はのinit内の.pyを宣言されているが、私は私のテストに(私はそうのようなて、myAppディレクトリから実行します:pythonアプリ/テスト/ tests.py)私のフォルダを実行しようとするたびに私はImportError: No module named app
を取得します。
私はこの情報が関連しているかどうかはわかりませんが、アプリを実行するには通常run.pyを実行します。その中にはapp.run(debug = True, host='0.0.0.0')
が入っています。
ありがとうございました。
tests.py:
import os
import unittest
from app import app
class TestCase(unittest.TestCase):
def setUp(self):
self.db_fd, app.config['DATABASE'] = tempfile.mkstemp()
self.app = app.test_client()
def tearDown(self):
os.unlink(app.config['DATABASE'])
def test_empty_db(self):
rv = self.app.get('/index')
assert b'No entries here so far' in rv.data
if __name__ == "__main__":
unittest.main()
私はどこでもtests.pyをインポートしたくありません。私はそれを自分自身で実行したい。編集:誰でも私は彼らのコメントを削除するために返信していた。 –