Я бы хотел найти надежную структуру каталогов для теста Flask App. Если возможно, приложение должно быть запущено через app.py. На данный момент моя установка выглядит следующим образом
.
├── app.py
├── config
│ ├── default.py
│ └── __init__.py
├── src
│ └── __init__.py
└── tests
├── __init__.py
└── test_app.py
Это мой src/__init__.py
. Это выглядит довольно солидно.
from flask import Flask
def create_app():
app = Flask(__name__)
app.config.from_object("config.default")
return app
Это мой tests/test_app.py
.
import unittest
from flask import Flask
import src
app = Flask(src.create_app())
class BasicTests(unittest.TestCase):
def setUp(self):
self.app = app.test_client()
def tearDown(self):
pass
def test_main_page(self):
response = self.app.get('/', follow_redirects=True)
self.assertEqual(response.status_code, 200)
if __name__ == "__main__":
unittest.main()
Запуск через python -m tests.test_app.py
вызывает 'Flask' object has no attribute 'startswith'
AttributeError . Если я использую python tests/test_app.py
, я получаю ModuleNotFoundError No module named 'src'
, что очевидно (Как я могу использовать папку родного брата в качестве модуля?)