【发布时间】:2016-02-25 19:39:11
【问题描述】:
我很难设置一个简单的测试。
我的项目结构如下:
project:
models:
__init__.py
user.py
constants.py
test:
test.py
我想测试运行test.py 的user.py py。
user.py
from sqlalchemy import Column, Integer, String, Text
from sqlalchemy.orm import relationship
from .models.constants import *
from .models import Base
class User(Base):
__tablename__ = 'users'
uid = Column(Integer, primary_key=True, autoincrement=True)
name = Column(String, nullable=False)
email = Column(String, nullable=False)
picPath = Column(String, unique=True)
description = Column(Text)
def __repr__(self):
return "<User(uid=%s, name=%s)>" %(self.uid, self.name)
test.py
from ..user import User, Group
def _TestUser():
TEST_DB_URI = "postgresql://project:password@localhost:5432/projectdbtest"
SessionMaker = sessionmaker()
engine = create_engine(TEST_DB_URI)
SessionMaker.configure(bind=engine)
session = SessionMaker()
user = User("test subject", "testsubject@gmail.com", "~/testsubject.jpg", "I am a test subject")
session.add(user)
session.commit()
但是,当我运行 python3 -m test.py 时出现以下错误:
系统错误:父模块''未加载,无法执行相对导入
我想我可能需要将模块包添加到 python 路径?
【问题讨论】:
-
看看here