Quel est le meilleur moyen de configurer une simulation d'attente pour la fonction Carte dans AutoMapper.Appel Mapper AutoMapper Mapper.Map en utilisant Moq
J'extrais l'interface IMapper pour que je puisse configurer les attentes pour cette interface. Mon mappeur a des dépendances, donc je dois les transmettre au mappeur. Que se passe-t-il lorsque je crée 2 instances de ma classe de mappeur avec 2 implémentations de dépendances différentes? Je suppose que les deux mappeurs utiliseront la même instance de dépendance, puisque la carte AutoMapper est statique. Ou AutoMapper pourrait même lancer une exception car j'essaie de configurer 2 cartes différentes avec les mêmes objets.
Quelle est la meilleure façon de résoudre ce problème?
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);
}
}