我想单元测试一个MVP主持人类。但其与服务的交互不是通过接口(它使用具体的类)。现在我不知道是否有模拟服务类没有必须改变结构?有没有什么办法来模拟一个实现类
0
A
回答
1
在C#/ VB.NET中嘲讽通常的方式是通过使用特定场景所需的实现重写虚拟方法。出于这个原因,接口是最常用的方法,因为它的所有方法都是抽象的。
是否有一个原因,你不愿意将服务依赖项更改为接口?另一种方法是让你想要测试的方法是虚拟的,所以你可以在你的模拟中覆盖它们,但我不会推荐它,因为它有点脏。
单元测试的重点只是测试一个特定的单元,所以对实现有一个依赖关系而不是接口确实会击败重点。
+0
是的,但这是一个已完成的项目,并不希望更改结构。 –
+0
在VS 2012中,您可以使用Shims:http://msdn.microsoft.com/en-us/library/hh549175.aspx –
相关问题
- 1. 有什么办法让现有类型实现一个接口?
- 2. 有没有办法绕过一个没有实现Serializable的类?
- 3. 有没有办法用一个来模拟多个GPU?
- 4. 有没有什么办法来实例化一个匿名的内部类?
- 5. 有没有什么办法可以用Jasmine或Sinon来模拟这个功能?
- 6. 有没有什么办法可以在rails中实现“每一个”关系?
- 7. 有没有办法阻止派生类进一步实现虚拟功能?
- 8. adb-有没有办法模拟IME_ACTION _DONE?
- 9. 有没有办法模拟QGroupVBoxLayout?
- 10. perl mocking有没有办法模拟$?
- 11. 有没有什么办法来实现TransparentActivation没有引用的db4o库分为模型?
- 12. 有没有什么办法来检查类的属性在C#
- 13. 有没有办法一次运行多个iOS模拟器?
- 14. 有什么办法来模拟HTTP错误响应5xx和4xx
- 15. 有没有什么办法可以配置spring mvc来呈现内容类型?
- 16. 有没有办法用一个“模式”
- 17. 有没有办法使用GWT.create(...)来实例化一个泛型类的类?
- 18. 有没有办法避免有全局变量来实现qsort
- 19. 有没有办法用JMockit来模拟spring的jdbcTemplate?
- 20. 有没有办法在Django中使用查询来模拟foreach?
- 21. 有没有什么办法来优化这个MYSQL查询
- 22. 有没有什么办法来优化这个SQL Server查询?
- 23. 有没有办法一般地用Moq模拟DbSet.Find方法?
- 24. 有什么办法来实现ZipFile的Send特性?
- 25. 有什么办法可以用proto3来实现扩展吗?
- 26. 有什么办法来实现最小/最大队列?
- 27. 有没有什么办法可以使强制实现的派生类中实现静态方法?
- 28. 有没有什么办法模仿ThreadStatic与HttpContext.Current.Items一起使用?
- 29. 有没有办法将BindingSource的DataMember作为一个集合对象来实现?
- 30. 有没有什么办法来为一组像素指定一个数字?
你站在它前面,取笑它的方法和功能。 ;) –