【发布时间】:2016-02-22 11:36:49
【问题描述】:
我有一个调用一组私有方法的公共方法。
我想用单元测试来测试每个私有方法,因为通过公共方法测试所有东西太复杂了,
我认为仅出于测试目的更改方法可访问性是一种不好的做法。
但我没有看到任何其他方法来测试它(也许是反射,但它很丑)
【问题讨论】:
-
我真的希望建议的编辑将
pubic method更改为public method- 很失望。 -
你可以用 groovy 编写你的测试,然后你就可以访问私有方法。 Groovy 还带来了可以轻松创建模拟的优势。
-
您可以将包本地化,或者质疑是否应该测试私有方法,尝试测试调用这些方法的公共方法。
-
您的公共方法是您关心的事情。单独测试私有方法并不能保证调用它们的公共方法的任何信息。如果事情“太复杂”而无法通过公共方法进行测试,那么您就该进行重构了。如果您发布一些代码,我们可能会提供更多帮助。
标签: java unit-testing testing tdd