我正在使用AutoMapper将实体框架实体映射到业务实体.业务逻辑类IMappingEngine通过其构造函数作为依赖.然后它用于这样的方法:
public int DoSomething()
{
var users = _dbContext.Users.ProjectTo<UserBLL>(null, _mappingEngine);
// ...
// some users' processing and business logic that should be tested
// ...
return result;
}
Run Code Online (Sandbox Code Playgroud)
一切都很完美.问题是单元测试.我从ProjectTo实现中发现我需要存根IMappingEngine.CreateMapExpression方法.但它似乎过于复杂.有没有更简单的解决方案?当然,可以通过在测试设置方法中配置映射,然后传递Mapper.Engine给SUT 来使用AutoMapper的实现,但它有点像集成测试,而不是单元.