Каков наилучший способ установить фиктивное ожидание для функции карты в AutoMapper.
Я извлекаю интерфейс IMapper, чтобы можно было настроить ожидания для этого интерфейса. У моего маппера есть зависимости, поэтому я должен передать их мапперу.
Что происходит, когда я создаю 2 экземпляра моего класса mapper с двумя различными реализациями зависимостей? Я предполагаю, что оба преобразователя будут использовать один и тот же экземпляр зависимости, поскольку карта AutoMapper является статической. Или AutoMapper может даже выдать исключение, потому что я пытаюсь настроить 2 разные карты с одинаковыми объектами .?
Какой лучший способ решить эту проблему?
public interface IMapper {
TTarget Map<TSource, TTarget>(TSource source);
void ValidateMappingConfiguration();
}
public class MyMapper : IMapper {
private readonly IMyService service;
public MyMapper(IMyService service) {
this.service = service
Mapper.CreateMap<MyModelClass, MyDTO>()
.ForMember(d => d.RelatedData, o => o.MapFrom(s =>
service.getData(s.id).RelatedData))
}
public void ValidateMappingConfiguration() {
Mapper.AssertConfigurationIsValid();
}
public TTarget Map<TSource, TTarget>(TSource source) {
return Mapper.Map<TSource, TTarget>(source);
}
}