На Google есть миллион ответов, но я не могу применить какие-либо исправления и получить ожидаемый результат!Надеюсь, кто-нибудь может помочь мне здесь?
Я использовал Python в прошлом, но уже давно, я переписываю старый проект прошлого года с использованием SQLAlchemy и SQLite3.
Проблема в том,Я не могу заставить мои тесты играть хорошо.Я пытаюсь отделить свою тестовую базу данных от рабочей базы данных, поэтому у меня следующая структура файла:
.
├── fleet_manager
│ ├── controller
│ │ └── customer_controller.py
│ ├── database.db
│ ├── fleet_manager.py
│ ├── model
│ │ ├── __init__.py
│ │ ├── models.py
│ └── view
├── Pipfile
├── Pipfile.lock
└── tests
├── context.py
├── __init__.py
├── test_customer_controller.py
├── test.db
└── test_models.py
Итак, я создал файл context.py, и здесь у меня есть фабрика движков / сеансов SQLAlchemy.Это тот файл, который не могут найти мои тестовые файлы.
# test_models.py
from mamba import description, context, it, before
from expects import expect, equal, be_a, be_none
from sqlalchemy import create_engine, Table
from sqlalchemy.engine import Engine
from sqlalchemy.orm import sessionmaker
from context import Session # < this mofo here
from fleet_manager.model.models import (
Equipment,
EquipmentType,
Discipline,
Size,
Make,
Model,
Customer,
Base)
Таким образом, в основном вышеупомянутый файл вообще не находит контекст
# context.py
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
engine = create_engine('sqlite:///tests/test.db', echo=True)
Session = sessionmaker(bind=engine)
Это ошибка, которую я получаю (опущенолишний след):
ModuleNotFoundError: No module named 'tests/test_models'
Я уже пробовал кучу вещей.Я попытался изменить путь с помощью os.path, а также .context в отличие от контекста, но все еще ничего.Первоначально у меня была эта проблема при попытке доступа к файлу models.py, но это потому, что я забыл поместить в папку init .py!
Может кто-нибудь помочь мне здесь?Вырывая мои волосы.