OOP设计 - 私人修改器

Bis*_*128 3 java oop unit-testing

我以为我知道何时应该使用private关键字.封装是这样做的原因,因此我努力使所有方法尽可能保密.

我刚刚写了一篇关于测试的文章,并被告知在我的私有方法上使用反射进行测试是一个坏主意,这是糟糕的代码设计.为什么会这样,我的密钥代码被隐藏/封装的事实是一件好事,应该不进行测试,因为这真的是我的公共代码所依赖的关键所在?

Sim*_*mon 6

好的测试尝试实现高代码路径覆盖,所以是的,测试私有方法是好事.但是你为什么要用反射直接打电话给他们呢?这些方法是私有的这一事实通常表明存在使用它们的公共/受保护方法.因此,公共方法的测试意味着对私有方法的测试.