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