web-dev-qa-db-ja.com

AutoMapper AssertConfigurationIsValidは、適切なマッピングを保証するのに十分ですか?

AutoMapperについて質問したいのですが。私たちは次のようにマッピングをユニットテストしています:

var dtoFiltrePersonne = new DtoFiltrePersonne { Prop1 = "Test", Prop2 = 1234 };
Mapper.CreateMap<FiltrePersonne, DtoFiltrePersonne>();
var filtrePersonne = DtoAutoMappeur<DtoFiltrePersonne, FiltrePersonne>.Instance.MapFromDtoToEntity(dtoFiltrePersonne);
Assert.AreEqual(dtoFiltrePersonne.Prop1, filtrePersonne.Prop1);
Assert.AreEqual(dtoFiltrePersonne.Prop2, filtrePersonne.Prop2);

このユニットテストが同じカバレッジを提供するかどうか知りたいですか?

Mapper.CreateMap<FiltrePersonne, DtoFiltrePersonne>();
AutoMapper.AssertConfigurationIsValid()

AutoMapper構成ドキュメント を調べましたが、はっきりしていません。各マッピングを単体テストする必要がありますか、それともAssertConfigurationIsValidメソッドを使用する必要がありますか?

21
Morgan

それは言う:

このコードを実行すると、説明メッセージとともにAutoMapperConfigurationExceptionが生成されます。 AutoMapperは、すべてのDestinationタイプメンバーがソースタイプに対応するタイプメンバーを持っていることを確認します。

すべてのメンバーには、宛先タイプとの相関関係があります。 そうでないかもしれません正しいものです(例外的なケースが常にあるため)が、少なくともすべてのプロパティがソースタイプから宛先に移動されることをテストします。

23
Dmitry Reznik