我正在使用Ms unity container
和rhino mock
来创建存根。
我尝试创建存根并在我的Unity容器中注册它
IUnityContainer container = ContainerManager.GetDefaultContainer;
var loggerStub = MockRepository.GenerateStub<ILogger>();
container.RegisterType<ILogger, loggerStub>();
但是,只能注册类类型。
如何注册存根(如记录器存根)以运行我的单元测试?
您还可以使用the RegisterInstance method配置Unity容器以将给定类型解析为指定实例。
因此,在您的注册码中,您需要将最后一行更改为:
container.RegisterInstance(typeof(ILogger), loggerStub);
但是,我发现你需要在你的unis测试中使用IoC容器有点奇怪。
您应该能够手动创建受测试系统的实例。
根据我的经验,在以下情况下我在测试中使用了IoC:
我看到了你的评论,我可以立即想到两个不在单元测试中使用注入的原因: