2009-08-26 3 views
4

私はORMとしてNHibernateを使用しており、代替データベースとしてfor unit testing purpose I am using sqliteを使用しています。NHibernate:初期データ集団

意味のある単体テストを得るために、私はテーブルを作成する必要があります。どのようにNHibernateでこれを行うには?私のユニットテストのデータベースはsqliteですが、私はそれを可能にするdbの独立したスクリプトを好むでしょう。

Nhibernateはこれをそのまま使用できますか?または、NHibernate Saveメソッドを使用して挿入する必要がありますか?

P/S:(例えばPHPSymfonyような)他の言語のORMまたはフレームワークの一部、supports this via yml

答えて

0

あなたのためにこれを行うツールはありませんが、いいと思います。

saveメソッドを使用すると効果があり、残りのアプリケーションとは独立したデータベースになります。

私はコンソールアプリケーションを持っていますので、私のメインアプリケーションが機能するために、最初のデータをデータベースにロードできます。

1

AFAIK NHibは大量インポートオプションを提供していません...何らかのエンティティを何らかの形で作成し、次にそれらにISession.Saveを呼び出す必要があります。このルートを降りる場合は、Test Data Builder patternをお勧めします。

XMLにシリアル化されたオブジェクトがある場合は、デシリアライズしてデータを保存する必要がありますが、XMLを維持するのは面倒です。

+0

私はテストコードの中でそれを維持しているかもしれません。私のテストセットアップでSession.Saveでテーブルを作成してください – Graviton

関連する問題