2012-01-27 4 views
1

ユニットテストを作成していますが、多くのエンティティがあります。だから私は手動でデータベースにすべてのエンティティを挿入する必要がありますか良いソリューションがありますか?ベストプラクティス - 膨大な数のエンティティでユニットテストを作成するときに行うこと

+0

何を正確にテストしたいですか?どの技術を使用していますか?エンティティフレームワーク、NHibernate? WindowsフォームアプリケーションまたはWebベース? –

+0

エンティティフレームワーク。私は成功した挿入をテストしたい。 – Seva

+2

あなたのテストがデータベースに当たっている場合、単体テストではありません。 –

答えて

3

Moqのようなものをお探しですか? Mockオブジェクトとクエリ可能なオブジェクトリストを作成して、偽のデータをデータベースに入れてテストする必要がないようにします。

+0

各オブジェクトをすべての値でインスタンス化する必要はありませんか? :S – Seva

+0

あなたが使用する値だけでインスタンス化することはできますが、一度作成すればパスタをコピーすることができます。 – Stephen

1

ユニットテストの作成方法についてはlinkをご覧ください。私はそれがあなたの質問に関してあなたを助けるかもしれないと思う一つのこと:

モックアウトすべての外部サービスとそうでない状態 は、これらの外部サービスでの動作は、複数のテストを重なって、状態データは、異なるユニットテストが影響を与えることができることを意味しお互いの結果。 テストを特定の順序で実行する必要がある場合や、データベースまたはネットワーク接続がアクティブな場合にのみテストを実行する必要がある場合は、間違った方向に向いています。 (ちなみに、あなたのアーキテクチャーは単体テスト時に静的変数にコードが触れることを意味することがありますが、できない場合は避けてください。 。)

関連する問題