1

現在、プロジェクトで NHibernate を使用しており、NDBUnit を使用して、単体テスト用のデータを DB に入力しています。私がやりたいことは、データをロードするときに NDBUnit によって使用される XML を、NHibernate によって返されるクラス インスタンスに対して検証することです。

クラスでリフレクションを使用してすべてのプロパティを取得し、NDBUnit XML データセットでそれらの列の値を検索できるようです。ホイールを再発明しているのか、それともすべての NHibernate マッピングが正しいことを確認するためのより良い代替手段があるのか​​ どうかはわかりません。

4

1 に答える 1

0

Fluent NHibernate の PersistenceSpecification を確認してください。そのクラスには Fluent NHibernate に依存するものは何もありません。私は以前、プレーンな古い NHibernate hbm.xml ファイルをテストするときにそれを使用しました。

http://wiki.fluentnhibernate.org/Persistence_specification_testing

たとえば、次のようなテストを作成できます。

[Test]
public void CanCorrectlyMapEmployee()
{
    new PersistenceSpecification<Employee>(session)
        .CheckProperty(c => c.Id, 1)
        .CheckProperty(c => c.FirstName, "John")
        .CheckProperty(c => c.LastName, "Doe")
        .VerifyTheMappings();
}

強くお勧めします。

于 2011-03-15T02:26:46.627 に答える