nose를 사용하여 만든 sqlalchemy 모델의 단위 테스트 작성 방법을 보여 줄 수 있습니까?python 단위 표본이 필요합니다. 코를 사용한 sqlalchemy 모델
간단한 예제가 하나 있습니다.
감사합니다.
nose를 사용하여 만든 sqlalchemy 모델의 단위 테스트 작성 방법을 보여 줄 수 있습니까?python 단위 표본이 필요합니다. 코를 사용한 sqlalchemy 모델
간단한 예제가 하나 있습니다.
감사합니다.
메모리 내 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()
# ...
좋은 답변입니다! 실제로 테이블을 만들려면 MetaData 객체에서'create_all'을 호출해야한다고 생각합니다. 또한 db-vendor 특정 데이터 유형이 사용되는 경우 일부 DDL이 실행되지 않을 수 있습니다. – van
좋은 지적. create_all에 대한 호출을 보여주기 위해 예제를 업데이트했다. – codeape
SQLLite가 프로덕션 데이터베이스가 아닌 경우 이것은 끔찍한 대답입니다. 프로덕션 환경에서 사용중인 것과 다른 데이터베이스로 테스트하지 마십시오. 그들은 많은 차이가있을 것이고 당신은 재앙을 위해 스스로를 준비하고 있습니다. –
체크 아웃 fixture 프로젝트. 우리는 그것을 테스트하기 위해 코를 사용했으며 테스트 할 데이터를 선언적으로 정의하는 방법이기도합니다. 거기에 사용할 수있는 광범위한 예제가 있습니다!
도 참조하십시오. fixture documentation.
구체적으로 : 코 설치 방법에 대한 도움이 필요합니까? 또는 모델을 테스트하는 방법? – van