Мне нужен образец Python модульного тестирования модели sqlalchemy с носом - PullRequest
22 голосов
/ 07 мая 2009

Может кто-нибудь показать мне, как писать модульные тесты для модели sqlalchemy, которую я создал с помощью переносицы.

Мне просто нужен один простой пример.

Спасибо.

Ответы [ 2 ]

37 голосов
/ 07 мая 2009

Вы можете просто создать базу данных 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()
    # ...
2 голосов
/ 28 мая 2009

Проверьте проект . Мы использовали нос, чтобы проверить это, и это также способ декларативно определить данные для проверки, там будет несколько обширных примеров для использования!

См. Также документация на приспособление .

...