【发布时间】:2011-06-03 23:48:33
【问题描述】:
我正在尝试设置一些最小起订量存储库来测试我的服务,将温莎城堡作为我的 IOC。 Mu 服务依赖于 IFoo,因此我正在创建一个实现 IFoo 的 moq 实例并将其注入容器中,如下所示:
_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”类型
谁能看出我做错了什么?
【问题讨论】:
标签: nunit castle-windsor moq