質問

マッピングにnHibernateとFluentを使用した新しいプロジェクトを開始しました。アーキテクトは、数百のエンティティクラスと対応するFluentマッピングファイルを生成したデータベースを送ってきました。私はこれが理想的なDDDのやり方ではないことを知っていますが、人生はめったに理想的ではありません。

私がしたいことは、すべてのマッピングが正しいこと、列が正しくマッピングされていること、OneToMany、ManyToManyなどをテストすることです。これを行う自動化された簡単な方法はありますか?すべてのエンティティからレコードをロードし、例外が発生しないことを確認する単純なリポジトリを記述することを検討しましたが、ほとんどのテーブルにはまだデータがありません。

役に立ちましたか?

解決

Fluent NHibernateの PersistenceSpecification をご覧ください。完璧ではありませんが、多くの単純なケースをうまく処理します。

他のヒント

ORMマッピングをテストするために、作業時間を節約した戦略の1つとして、MBUnitまたはNUnitのRowTest属性などの単体テストで行テストアプローチを使用する方法があります。これにより、個別の行値の個々の単体テストを作成する必要がなくなります。クイックスタートについては、こちらのウェブキャストをご覧ください。

データベースについては、次の2つの戦略に従うことができます。 特定のDBインスタンスまたはエンジンでテストする必要がある場合は、トランザクションを使用して、アサート後のDBへのすべての書き込みがロールバックされることを確認できます。 独自のインスタンスとエンジンを使用できる場合は、SQLLiteまたはSQL CEを単体テストのみのDBとして使用できます。このDBは単体テストでのみ使用されるため、単体テストを実行するたびに常に新しいDBを作成できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top