如何使用NUnit测试私有方法和内部类?使用NUnit测试私有方法和内部类?
12
A
回答
4
我通常不会。如果您彻底测试了私有方法和内部类的公共方法,那么您应该能够测试私有功能的全部范围而不用公开它。
0
您必须公开一种方法来调用它们,可能通过特定于测试的派生类。
30
私有方法:
如果你想测试非公共方法,它通常意味着你就错了。
如果有要测试的功能,但不希望在您的课堂上公开,则代码正试图告诉您一些事情。你的班级可能有太多的责任。您应该认真考虑将私有功能提取到新类中,为新类编写测试,并让旧类具有新类的私有实例。
内部类:
这一个是更有效,特别是如果你正在写为他人重用一个类库。你可能有不是为一般用途设计的类,而是你想为其编写单元测试。
对于这种情况,请看 InternalsVisibleToAttribute。
2
我处理这个问题的方式是我公开所有的方法。我知道这听起来很糟糕,但请忍受一下。
使用IoC时,每个具有某种逻辑的类都有一个接口。因此,基本上,你对接口进行编码,而不是实际的实现。你要做的是将所有的方法标记为public,并且不会影响类的使用方式,除非它可以为该类中的每个方法编写单元测试。
相关问题
- 1. 集成测试私有类和方法
- 2. 测试其调用内部调用私有方法
- 3. 使用Pex测试私有方法
- 4. Junit测试私有方法
- 5. 私有方法或内部类
- 6. 使用反射测试抽象类的私有方法
- 7. 测试方法(NUnit的2.6)
- 8. 如何编写具有受保护方法的内部类型类的nunit测试用例?
- 9. 很长的方法和测试私有方法 - 设计问题
- 10. 测试和使用NUnit和FitNesse的
- 11. 如何测试私有方法?
- 12. Akka的单元测试私有方法
- 13. 测试私有方法,澄清需要
- 14. 单元测试私有方法的C#
- 15. 如何测试私有方法?
- 16. 私有方法的单元测试c#
- 17. 使用Nunit测试的项目类型
- 18. 单元测试复杂的类有许多私有方法
- 19. 有很多私有方法的Java测试类
- 20. 单元测试私有类
- 21. 内部类和方法应该如何测试?
- 22. 使用Moq测试私有方法不起作用
- 23. 测试内部类
- 24. 无法从类内部访问私有方法?
- 25. MEF和使用NUnit的单元测试
- 26. 用于内部和私有方法的AOP Java
- 27. 如何使用DUnit测试私有方法?
- 28. 我应该使用RSpec测试私有方法吗?
- 29. 测试方法:使用'私人浏览'测试没有缓存的网站?
- 30. NUnit的 - 全球方法每个测试
还值得注意的是,InternalsVisibleTo可用于公开仅由测试程序集使用的构造函数/方法,并将这些构造函数/方法隐藏在客户代码中。 – jlafay 2011-05-03 19:23:42