什么是设置Automapper中Map函数的最佳模拟预期的方法?
我提取了IMapper接口以便可以为该接口设置预期。我的映射器具有依赖项,因此必须将其传递给映射器。
当我创建两个mapper类的实例,并使用两个不同的依赖项实现时,会发生什么?我假设两个映射器都将使用相同的依赖项实例,因为Automapper map是静态的。或者Automapper甚至可能会抛出异常,因为我尝试使用相同的对象设置两个不同的映射?
解决这个问题的最佳方法是什么?
我提取了IMapper接口以便可以为该接口设置预期。我的映射器具有依赖项,因此必须将其传递给映射器。
当我创建两个mapper类的实例,并使用两个不同的依赖项实现时,会发生什么?我假设两个映射器都将使用相同的依赖项实例,因为Automapper map是静态的。或者Automapper甚至可能会抛出异常,因为我尝试使用相同的对象设置两个不同的映射?
解决这个问题的最佳方法是什么?
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);
}
}
错误522 Ray ID:5798fed7d802d24c • 2020-03-25 13:32:00 UTC连接超时
如果您可以通过将其导出到时间机器来帮助我查看它,那就太好了。 - SpiritBob