Ich versuche einige Moq-Repositories einzurichten, um meinen Dienst mit Castle Windsor als mein IOC zu testen. Mu-Service ist abhängig von IFoo, so dass ich eine moq Instanz schaffen, die IFoo implementiert und es in den Behälter eingespritzt etwa so:Moq mit Windsor verwenden - Objekt des Typs Moq.Mock [IFoo] kann nicht in IFoo konvertiert werden
_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
dies tun gibt mir eine Ausnahme: System.ArgumentException: Objekt des Typs ‚Moq .Mock`1 [IUserRepository] 'kann nicht in den Typ' IUserRepository 'konvertiert werden
Kann jemand sehen, was ich falsch mache?
Vielen Dank für den Tipp, es funktioniert perfekt. –