【发布时间】:2018-05-16 12:09:02
【问题描述】:
Java 开发人员总是对在该类之外不使用的方法使用私有访问级别。已知benefits 这样做,但从另一方面来看,我们增加了单元测试的复杂性。在大多数情况下,我们的代码不被任何其他服务/API 使用,我们实际上并不关心“私人”利益。但我相信我们关心的是创建可读的简单单元测试。考虑到这一点,为什么不将类中的所有方法默认创建为“包私有”,并仅在我们真正需要时才将它们设为“私有”?
【问题讨论】:
-
“我们增加了单元测试的复杂性”是什么意思?
-
如果你正在编写私有方法的测试,你只会增加单元测试的复杂性,这通常是没有用的。相反,编写使用它们的非私有方法的测试。无需仅仅因为您更改了类的内部实现而更改测试。
-
当您编写涵盖私有方法的测试时,您需要使用开放/可访问的方法。这就是我所说的“增加单元测试的复杂性”。
标签: java oop private access-levels package-private