![]() |
1
11
测试私有方法也可能是一种测试气味。 我的推荐书很好 http://www.manning.com/rainsberger/
|
![]() |
2
1
克莱是对的。 但是,如果您正在处理遗留代码,并且必须处理私有方法中的依赖项,那么最后一种方法是 JMockit . 我没有用过,但在 The Art of Unit Testing . 它应该能够将原始类的调用转换为您的伪类。 使用它来打破对其他对象的依赖,这样您就可以测试公共方法,而不是测试私有方法。在重构到一个分离的设计的过程中,把它作为一个安全网使用。 |
![]() |
3
0
如果您还没有使用它,这可能是一个延伸…但是,对于违反单元测试的访问限制,groovy确实是非常棒的…您可以像公开方法一样访问和调用这些方法,而不需要进行额外的反射。 |
![]() |
4
0
我很好奇在打包作用域方法时会收到什么样的警告,但是无论如何,解决这种问题的方法是使测试成为对象的静态内部类。这可能需要权衡;如果部署大小是一个重要问题,则可能需要将类排除在与代码一起打包的情况下,并且需要小心避免意外地将依赖项从测试框架引入到生产代码中。 另一个可能的选项是拥有一个静态的内部类,它帮助公开您需要的方法,测试将使用它作为对私有方法的传递。这里的缺点是,这个类本质上向任何想要使用该类的人公开私有方法,因此您必须小心地清楚地表示,这个类仅用于测试目的。 |
![]() |
5
0
你可以考虑使用 reflection . |