#python-3.x #flask #pytest
#python-3.x #flask #pytest
Вопрос:
Я пытаюсь добавить pytest в приложение flask. Это структура проекта.
root
├── myapp
│ ├── app.py
│ ├── config.py
│ ├── module
│ │ ├── models.py
│ ├── pages
│ │ ├── forms.py
│ │ ├── templates
│ │ │ ├── base.html
│ │ │ ├── home.html
│ │ │ └── login.html
│ │ └── views.py
├── Pipfile
├── Pipfile.lock
├── __pycache__
└── tests
├── conftest.py
└── test_pages.py
Приложение flask находится в myapp
папке. Команда flask run
выполняется нормально в этой папке. Таким образом, приложение отлично работает само по себе.
Тестовая папка находится на том же уровне, myapp
что и . Если я запускаю pytest
или py.test
получаю эту ошибку.
conftest.py:3: in <module>
from app import app
E ModuleNotFoundError: No module named 'app'
conftest.py
from pytest import fixture
from app import app
@fixture
def client():
return app.app
Я хочу, чтобы pytest распознавал myapp
как корень проекта. Даже если они находятся в разных папках.
Комментарии:
1. Создайте пустой
conftest.py
файл вmyapp
каталоге.2. @hoefling это приведет к загрязнению фактического приложения тестовыми файлами. Добавьте
__init__.py
, возможно.