Твердый макет каталога для тестов Flask - PullRequest
0 голосов
/ 29 октября 2019

Я бы хотел найти надежную структуру каталогов для теста 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', что очевидно (Как я могу использовать папку родного брата в качестве модуля?)

...