由于我的声誉,在这里回答@me之前的评论:
Vlookward,不写 getter/setter 完全没有意义。设置私有字段的唯一选项是显式设置器,在构造函数中设置它们,或通过其他方法间接设置(功能上将设置器推迟到另一个地方)。为什么不使用二传手?
好吧,有时候,没有必要把这个领域保密(对不起,如果我的英语不是很好)。通常,我们编写软件是因为它是一个库,并且我们用不必要的 getter/setter 封装我们的字段(我们的业务逻辑字段)。
其他时候,这些方法实际上是必要的。那么,有两种可能:
1. 里面有业务逻辑。然后他们会接受测试,但他们不是真正的获取者/设置者。我总是在其他课程中编写该逻辑。并且测试测试其他类,而不是POJO。
2.没有。然后,如果可以的话,不要手写。例如,下一个接口的实现可能是完全自动生成的(并且也在运行时!):
interface NamedAndObservable {
String getName();
void setName(String name);
void addPropertyChangeListener(PropertyChangeListener listener);
void addPropertyChangeListener(String propertyName,
PropertyChangeListener listener);
}
所以只测试手写的内容。不管它是getter/setter。