使用Moq和重载方法

时间:2014-05-21 17:41:46

标签: c# moq

为什么我的Moq测试没有解决相应的方法。

在我的测试中调用服务:

var service = new EmployeeService(mockScoreRep);

使用以下方法

public EmployeeService(ICMS_Repository cmsrepository)
{
    _cmsRepository = cmsrepository;            
}       

public EmployeeService(IRepository<Score> scoreRep)
{
    _scoreRepository = scoreRep;
}

我收到以下错误:

Cannot convert from 'Moq.Mock<IRepository<Score>>' to 'ICMS_Repository'

1 个答案:

答案 0 :(得分:4)

我怀疑问题是你想要mock 对象,而不是包装器:

var service = new EmployeeService(mockScoreRep.Object);

换句话说,您希望传递IRepository<Score> - 而不是Moq.Mock<IRepository<Score>>