これは私が開発した単体テストの手法です。模造する方法IMappingExpression <TSource、TDestination> CreateMap <TSource、TDestination>();
私のプロジェクトはEntity Frameworkを使用しているので、 私はテストでMocking Entityフレームワークを使用しています。テスト用プロジェクトでメモリデータ(テーブル用)を作成しています。
私のプロジェクトでは、次の方法でvw_employeesからMapperを使用しています。
configuration.CreateMap<vw_employees, User>().ForMember(m => m.Id, opt =>opt.MapFrom(u => u.ID)).ForMember(m => m.DisplayName, opt =>opt.MapFrom(u => u.FullName));
ので、私はモックからユーザーオブジェクトを取得するように、上記configuration.CreateMapをモックとしたいです。
public class User : IHaveCustomMappings
{
public string Id { get; set; }
public string DisplayName { get; set; }
public string Role { get; set; }
public string UserDomain { get; set; }
public long? bId { get; set; }
public void CreateMappings(IMapperConfiguration configuration)
{
try
{
configuration.CreateMap<vw_employees, User>().ForMember(m => m.Id, opt =>opt.MapFrom(u => u.ID)).ForMember(m => m.DisplayName, opt =>opt.MapFrom(u => u.FullName));
}
catch (AutoMapperConfigurationException ex)
{
throw;
}
}
}
ユニットテストでは、マッパーを次のようにモックしようとしていますが、動作しません。
テスト中に上記のクラスから次の依存関係を解決する方法を教えてください。
public void CreateMappings(IMapperConfiguration configuration)
{
try
{
configuration.CreateMap<vw_employees, User>().ForMember(m => m.Id, opt =>opt.MapFrom(u => u.ID)).ForMember(m => m.DisplayName, opt =>opt.MapFrom(u => u.FullName));
}
catch (AutoMapperConfigurationException ex)
{
throw;
}
}
マッピングをテストしたいのですか、またはオートマッパが動作することをテストしますか?私はあなたが何かを嘲笑する必要はないと思う! – Neil
@Neil nope彼は何らかのコントローラーやサービスユニットのテストで 'configuration'インスタンスを模擬したいと思っています。 – kayess
彼はAutoMapperをテストしたいと思うように聞こえますか?私はこれが彼がテストする必要があるものではないことを示唆している! – Neil