我需要一个使用nose进行SQLAlchemy模型的Python单元测试示例
有人能教我怎么用nose为我创建的sqlalchemy模型写单元测试吗?
我只需要一个简单的例子。
谢谢。
2 个回答
2
你可以看看这个fixture项目。我们用nose这个工具来测试它,nose也是一种可以清晰地定义测试数据的方法,里面会有很多详细的例子供你使用!
另外,你还可以查看fixture的文档。
38
你可以很简单地创建一个在内存中的SQLite数据库,然后把你的会话绑定到这个数据库上。
举个例子:
from db import session # probably a contextbound sessionmaker
from db import model
from sqlalchemy import create_engine
def setup():
engine = create_engine('sqlite:///:memory:')
session.configure(bind=engine)
# You probably need to create some tables and
# load some test data, do so here.
# To create tables, you typically do:
model.metadata.create_all(engine)
def teardown():
session.remove()
def test_something():
instances = session.query(model.SomeObj).all()
eq_(0, len(instances))
session.add(model.SomeObj())
session.flush()
# ...