我需要一个带有鼻子的 python 单元测试 sqlalchemy 模型的示例

发布于 2024-07-19 06:25:13 字数 84 浏览 8 评论 0原文

有人可以告诉我如何为我使用鼻子创建的 sqlalchemy 模型编写单元测试吗?

我只需要一个简单的例子。

谢谢。

Can someone show me how to write unit tests for sqlalchemy model I created using nose.

I just need one simple example.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不离久伴 2024-07-26 06:25:13

您可以简单地创建一个内存中的 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()
    # ...

You can simply create an in-memory SQLite database and bind your session to that.

Example:


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()
    # ...
我的影子我的梦 2024-07-26 06:25:13

查看 fixture 项目。 我们使用鼻子来测试它,这也是一种以声明方式定义要测试的数据的方法,那里会有一些广泛的示例供您使用!

另请参阅夹具文档

Check out the fixture project. We used nose to test that and it's also a way to declaratively define data to test against, there will be some extensive examples for you to use there!

See also fixture documentation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文