2009-08-26 3 views
4

ORM으로 NHibernate를 사용하고 대체 데이터베이스로 for unit testing purpose I am using sqlite을 사용하고 있습니다.NHibernate : Initial Data Population

의미있는 단위 테스트를하려면 테이블을 채울 필요가 있습니다. Hibernate에서 이것을 어떻게 하는가? 내 단위 테스트 데이터베이스가 sqlite이지만, 나는 그것을 할 수있는 DB 독립적 인 스크립트를 선호합니다.

Nhibernate가이 상자를 즉시 ​​사용할 수 있습니까? 아니면 삽입 NHibernate Save 메서드를 사용하여 리조트에해야합니까?

P/초 : 다른 언어 ORM 또는 워크 (PHP에서 같은 Symfony) supports this via yml 일부.

답변

0

당신을 위해이 작업을 수행하는 도구는 무엇인지 모르겠지만 좋을 것입니다.

save 메소드를 사용하려는 아이디어는 효과가 있어야하며 나머지 응용 프로그램과 마찬가지로 데이터베이스 독립적입니다.

저는 콘솔 애플리케이션을 가지고 있기 때문에, 메인 애플리케이션이 작동 할 수 있도록 데이터베이스에 초기 데이터를로드 할 수 있습니다.

1

AFAIK NHib는 대량 가져 오기 옵션을 제공하지 않습니다. 어떻게 든 엔티티를 만들고 그 다음에 ISession.Save를 호출해야합니다. 이 경로를 따라 가면 Test Data Builder pattern을 사용하는 것이 좋습니다.

일부 개체를 XML에 직렬화 한 다음 데이터를 deserialize하고 데이터를 저장해야하지만 XML 유지 관리가 번거롭다 고 생각됩니다.

+0

난 그냥 내 테스트 코드에서 유지할 수 있습니다 - 내 테스트 설정에서 Session.Save 테이블을 채 웁니다 – Graviton