0

Model オブジェクトを ViewModel オブジェクトにマッピングするために、コントローラーで AutoMapper を使用しました。Unity によってコントローラーに IMappingEngine オブジェクトが挿入され、global.asax でマッピング構成が行われます。

コントローラーの単体テストで、コンストラクターでパラメーターとして渡された IMappingEngine をどのようにモックする必要がありますか?

単体テスト プロジェクトですべてのマッピング構成を再度セットアップする必要がありますか?

4

2 に答える 2

1

インターフェイスを使用して AutoMapper を抽象化している場合、これのポイントは、単体テストで AutoMapper を使用する必要がないようにすることです。これは単体テストであるため、コントローラー アクションのコードのみをテストします。RhinoMocks や Moq などのモック フレームワークを使用して、テストに必要な動作をモックするだけです。RhinoMocks を使用すると、次のようになります。

var mapper= MockRepository.GenerateStub<IMappingEngine>();

次に mapper.Stub を使用して、必要な動作を追加します。

于 2013-01-31T17:08:52.940 に答える
0

そもそもなぜAutoMapperを注入するのですか?

コントローラ(ViewModels)の出力はマッピングに依存しているため、テストでは何をテストする必要がありますか?

コードの抽象化が少なすぎるのではないかと思います。AutoMapperを直接使用しても問題はありません。

于 2013-01-31T16:28:38.057 に答える