【发布时间】:2018-05-16 15:09:03
【问题描述】:
我有一个类在这样的构造函数中接受IMapper
public Foo(IMapper mapper)
在 Foo 的代码中我有这一行
var dao = _mapper.Map<BaseDAO>(obj);
BaseDAO 有 3 个子类型,在我这样设置的真实代码中
CreateMap<Base, BaseDAO>()
.Include<Child1, Child1DAO>()
.Include<Child2, Child2DAO>()
.Include<Child3, Child3DAO>();
我想模拟上面的行
var dao = _mapper.Map<BaseDAO>(obj);
因此,如果传入Child1,则将返回Child1DAO,并且对于其他子类型也是如此。我试图将IMapper 存根,但以下方法返回一个错误,指出
Child1DAO 不能隐式转换为 Tdestination
我试图模拟出IMapper,但也无法让它发挥作用。
public TDestination Map<TDestination>(object source)
{
return new Child1DAO();
}
有什么想法吗?
【问题讨论】:
标签: unit-testing mocking automapper moq stub