один из моего репозитория класса (скажем, PersonRepo) имеет делегат в качестве своей собственности что-то вроде этогоMocking Func свойство класса
private readonly Func<INameRepo> _nameRepo;
и помимо этого он наследуется классом, который сам ожидает еще один объект (скажем, сессии).
Таким образом, когда я инициализировать это в моем тесте я сделать что-то вроде
var funcNameRepo=autoMock.Mock<Func<INameRepo>>();
_personRepo= new PersonRepo(session,funcNameRepo.Object);
, но когда я запускаю этот тест я получаю следующее сообщение об ошибке:
Unable to cast object of type 'System.Func`1[Repositories.Interfaces.INameRepo]' to type Moq.IMocked`1[System.Func`1[Repositories.Interfaces.INameRepo]]'.
, что вы думаете, что я делаю неправильно Вот. пожалуйста помогите.
You синтаксис вы становится искажены из-за дженериков. Пожалуйста, отформатируйте свой код с помощью кнопки 10101. –
Как выглядит трассировка стека при возникновении ошибки? Я не вижу нигде в вашем коде, который, похоже, должен ожидать IMocked <...>. – dahlbyk
Может быть проблемой Automock, поскольку она пытается разрешить типы детей. Можете ли вы попробовать один и тот же пример без использования Automock, только с MOQ? –