Я довольно новичок в использовании Moq и сталкиваюсь с проблемой, когда один из моих вызовов методов возвращает ноль, несмотря на то, что я имитировал его.
Я издеваюсь над следующими интерфейсами.
public interface IUnitOfWorkFactory
{
IUnitOfWork Create(KnownDbContexts knownDbContexts);
}
public interface IUnitOfWork : IDisposable
{
Task SaveChanges();
IRepository Repository { get; }
}
Тогда в моем коде модульного теста это выглядит следующим образом.
_uowFactoryMock.Setup(x => x.Create(It.IsAny<KnownDbContexts>()))
.Returns(It.IsAny<IUnitOfWork>());
Код, который я тестирую, выглядит следующим образом.
using (var uow = _unitOfWorkFactory.Create(KnownDbContexts.UserDefined1))
{
// At this point 'uow' is null.
}
Почему IUnitOfWorkFactory.Create возвращает ноль?