AssertConfigurationIsValidメソッドを使用して、マッピング プロファイルの単体テストを行います。マッピングを受け入れるようにするには、マップされていない宛先プロパティを明示的に無視する必要があります。これにより、マッピング コードが汚染され、読みにくくなります。これは、AssertConfigurationIsValid を使用した単体テストに合格するためにのみ必要なので、「無視する」コードを同じ単体テストに移動したいと思います。
いくつかのマッピング プロファイル クラスからの次のマッピング コードを検討してください。
CreateMap<SourceType, DestinationType>()
// here goes some actual mapping code:
.ForMember(dest => dest.DestMember, opt => opt.MapFrom(src => src.SourceMember))
// and then go the explicitly ignored unmapped dest members,
// just for AssertConfigurationIsValid to pass:
.ForMember(dest => dest.IgnoredMember, opt => opt.Ignore());
後者のコードを単体テスト メソッドに移動したいので、次のようになります。
[TestMethod]
public void TestMappingConfiguration()
{
Mapper.AddProfile<MyProfile>();
Mapper.FindTypeMapFor<SourceType, DestinationType>()
.ForMember(dest => dest.IgnoredMember, opt => opt.Ignore());
Mapper.AssertConfigurationIsValid(MyProfile.Name);
}
Mapper クラスには既に FindTypeMapFor メソッドがありますが、無視されたプロパティをマッピングに追加する良い方法が見つかりません。これは可能ですか?