我有一个使用AutoMapper的.net核心服务api,在Startup :: ConfigureServices中,服务集合使用AddAutoMapper扩展来执行IMapper接口的依赖项注入所需的所有初始化。 services.AddAutoMapper(typeof(Startup));据我了解,这样做是为了完成对所有/所有AutoMapper.Profile类型的扫描,以便将IMapper for DI设置为其他构造函数。效果很好。
现在,我正在为该服务编写测试,并且想知道如何在Startup之外创建此IMapper?模拟它似乎毫无意义,我只想使用它,那么如何利用我已经设置的所有AutoMapper.Profiles创建我需要的实例?
我能够通过简单地创建一个指向所需Profile类的MapperConfiguration来使它正常工作:
var mapperConfig = new MapperConfiguration(cfg => cfg.AddProfile<TestProfile>());
IMapper _mapper = new Mapper(mapperConfig);