Automapper насмешливый - PullRequest
       32

Automapper насмешливый

0 голосов
/ 21 октября 2018

Я использую Automapper и Unity DI в своем веб-интерфейсе.Как я могу написать Automapper, чтобы смоделировать его для моего модульного тестирования?Я использую Automapper 7.0

public class AutomapperConfiguraiton: Profile
{           
 public static void Configure()
 {
  Mapper.Initialize(cfg =>{cfg.CreateMap<A,B>();});
 }
}

public class Registries
{
  public static UnityContainer GetContainer()
  {
    var container = new UnityContainer();
    container.RegisterType<IABC, ABC>();
  }
}

Webapiconfig.cs

public static class WebApiConfig
{
 public static void Register(HttpConfiguration config)
 {
  AutomapperConfiguration.Configure();
  var container = Registries.GetContainer();
}
}

1 Ответ

0 голосов
/ 22 октября 2018

Использовать API-интерфейс экземпляра автоматического инструмента.

public class AutomapperConfiguration : Profile
{
        public static MapperConfiguration Get()
        {
            return new MapperConfiguration(cfg =>
             {Mapper.Initialize(cfg =>{cfg.CreateMap<A,B>();});
             }
         }
}

В Registries.cs

public class Registries
{
  public static UnityContainer GetContainer(MapperConfiguration config)
  {
    var container = new UnityContainer();
    container.RegisterInstance<IMapper>(new Mapper(config), new 
     ContainerControlledLifetimeManager());
  }
}

В Webapiconfig.cs

public static class WebApiConfig
{
 public static void Register(HttpConfiguration config)
 {
  var automapperConfig = AutomapperConfiguration.Get();
  var container = Registries.GetContainer(automapperConfig);
 }
}
...