私はASP.NET MVCコントローラメソッドの単体テストを書いています。ユニットテストでAutoMapperを使用する必要がありますか?
コントローラはIMapper
に依存しています。これは、AutoMapperを抽象化するために作成したインターフェイスで、Castle Windsorを使用してコンストラクタインジェクションによって渡されました。
アクションメソッドは、ドメインオブジェクトからViewModelオブジェクトにマップし、再びDRYを維持し、アクションメソッドを簡潔に保つことを目的として、IMapper
を使用します。私のユニットテストで
は、I正しいバインディングと
設定AutoMapper(彼らは、そのテスト可能とウェブサイトとのユニットテストプロジェクト間で再利用可能なAutoMapperプロファイルを使用して構築されている)とは、としてそれを渡す必要があります適切なAutoMapperの実装は
IMapper
です。モックオブジェクトでパステストに応じて、
IMapper
例えば(私は部品番号を使用しています)(これはモックマッパーから返されるオブジェクトはに関連することを確認するテスト・セットアップコードにいくつかの作業を複製する意味しますモックマッパーがマップしようとしているオブジェクト)。それぞれのテストで必要と思われるマッピングを手動で設定するAutoMapper(多くの作業と、実際に使用されるマッピングをテストしていないことを意味します)。
ユニットテストでインフラストラクチャコードを使用することについての意見は?どの時点で統合テストになりますか(つまり、AutoMapperとコントローラの統合テストですか?)
私はMoqについてもっと学ぶ必要があると思いますが、実際の値に関連する値を返すようにする必要があると思いますが、2が純粋なビューだと感じます。
リポジトリパターンを使用している場合、私はあなたを指してもいいですか?http://rileytech.net/post/2010/08/17/Mock-Utility-creating-those-basic-services.aspx - - 最後の2つのファイルを使用するか、完全な例として使用してください:-) – jeriley