5
A
回答
13
下面是简单的答案
Bind<IMyType>().ToConstant<MyType>(new MyType());
所以这里的用起订量的例子:
var mock = new Mock<IMyType>();
//Setup your mock expectations/etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);
奖金答案:
我发现有些人实际上只是寻找创建特定类的单例实例,而不是实际创建它本身(这允许在需要的时候创建对象,而不是在构建容器时)。这是这样完成的:
Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();
在你的情况,因为你说的话“模拟”,我会假设你想要第一而不是第二个答案,但它是要知道一件好事。
2
不确定你使用的是哪种模拟工具,如果有的话,或者Ninject的版本;然而,值得一提的是Ninject 2有一个扩展,它提供了与Moq的集成 - http://github.com/enkari/ninject.moq。
我意识到这并不直接回答你的问题,Anderson's做得很好,但认为它可能是相关的无论如何。
+0
不错!这可能是他正在寻找的。 – 2009-08-14 17:20:17
+0
是啊,看起来不错 - 自己还没有用过它,但是很快就会这么做。 – 2009-08-14 21:11:56
相关问题
- 1. Ninject的Bind.ToMethod的Unity相当于使用CQRS
- 2. IDisposable对象的Unity RegisterInstance
- 3. 寻找相当于StructureMap的ObjectFactory.GetInstance()方法的Ninject
- 4. Castle Windsor相当于ninject的WhenClassHas
- 5. IoC - Unity,RegisterInstance如何工作,对吗?
- 6. Unity中RegisterInstance的最新版本
- 7. 相当于Java Convert.FromBase64String方法
- 8. ,相当于date(String)方法?
- 9. Unity中的注册表相当于
- 10. EFBootstrapper Ninject到Unity EFBootStrapper
- 11. Ninject只有当注入IFactory.Create()方法
- 12. 准则对于Dispose()方法和Ninject
- 13. jQuery相当于Ruby的.send()方法
- 14. Smalltalk相当于一种工厂方法?
- 15. .html()方法相当于SVG元素
- 16. vb.net相当于PHP的魔术方法
- 17. 爪哇:相当于C++常量方法
- 18. VBA相当于hasnext方法吗?
- 19. ExtJs4 - 相当于ExtJs3'tabPanel.getTabEl()'方法吗?
- 20. Ruby - 相当于Python __str __()方法?
- 21. Mongoid相当于ActiveRecord的`serialize`方法
- 22. 运行时的Unity RegisterInstance(不是来自配置文件)
- 23. MEF方法等同于棱镜Unity
- 24. Unity animateWithDuration相当于,将gameobject设置为位置
- 25. 无法通过使用RegisterInstance获得相同的实例
- 26. 将Ninject DI转换为Unity DI
- 27. Ninject重新绑定方法
- 28. drupalPost()相当于
- 29. Autofac相当于“BuildUp”
- 30. GetTable相当于ObjectContext
使用Moq ... var mock = new Mock(); 绑定().ToConstant(mock); ConstantProvider将创建模拟的实例,这是不符合你需要MyMock.Object传递所请求的服务 –
Ryu
2009-08-13 07:03:47
兼容,而不是模仿本身:) – 2009-08-13 15:47:50
我会更新上面的代码示例,你需要 – 2009-08-13 16:48:07