我有一堂课,有几个,比如说50个,领域。这个类还有一个方法,可以根据某些条件改变所有字段的状态。
我正在为该方法创建一个单元测试。该测试应根据给定条件断言所有字段的状态都是正确的,因此我需要访问测试类中的字段。
鉴于这些字段是私有的,因为它们仅在类中才有意义,我必须找到一种从测试类访问它们的方法。
我只看到两种方法:
- 将所有字段设置为受保护(或包可见性)
- 为所有字段生成 50 个 getter
- 创建 50 个委托方法来获取这些字段的状态而不是整个对象
在正常情况下,我会选择最后一个(尽管出于测试原因,我真的不喜欢更改界面)。但是在我的课堂上写 50 个新方法只是为了测试真的有意义吗?在这种情况下将字段设置为受保护不是更好吗,因为有这么多方法,类会变得不清楚?
笔记。反射是我想使用的最后一个选项,因为我不喜欢在测试时使用它:我不喜欢引用字段的文字,因为如果字段的名称发生更改,编译器不会建议我。