Использование Moq с перегруженным методом

1

Почему мой тест 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'
Теги:
moq

1 ответ

4
Лучший ответ

Я подозреваю, что проблема в том, что вам нужен объект-макет, а не оболочка:

var service = new EmployeeService(mockScoreRep.Object);

Другими словами, вы хотите передать IRepository<Score> - не Moq.Mock<IRepository<Score>>.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню