Я пытаюсь настроить несколько репозиториев Moq для проверки моей службы с Castle Windsor в качестве моего IOC. Служба mu зависит от IFoo, поэтому я создаю экземпляр moq, который реализует IFoo, и внедряю его в контейнер следующим образом:
_container.AddComponent("AutoBill",
typeof (AutoBillService), typeof (AutoBillService));
var mockUserRepository = new Mock<IUserRepository>();
var testUser = new User()
{
FirstName = "TestFirst",
LastName = "TestLast",
UID=1
};
mockUserRepository.Setup(repo => repo.GetUser(testUser.UID))
.Returns(testUser);
_container.Kernel.AddComponentInstance("UserRepository",
typeof(IUserRepository), mockUserRepository);
var service = _container.Resolve<AutoBillService>(); //FAIL
Это дает мне исключение:
System.ArgumentException: объект типа 'Moq.Mock`1 [IUserRepository]' не может быть преобразован в тип 'IUserRepository'
Кто-нибудь может увидеть, что я делаю не так?