【发布时间】:2020-05-30 18:20:10
【问题描述】:
我有以下代码
@RunWith(PowerMockRunner.class)
public NeedToTestClass () {
private String needToSetValueField;
......
public String needToTestMethod() {
return "the field value is " + this.needToSetValueField;
}
}
当我尝试测试该方法时,我是否可以设置(或模拟)needToSetValueField?请帮忙。谢谢。
【问题讨论】:
-
你不应该。私有成员不是类合同的一部分。如果您能解释这个私有字段的目的是什么,我们或许可以提出一些更简洁的替代方案。
-
@chrylis,感谢您的回复。这个私有字段值应该在类被实例化并在不同地方使用时计算一次。
-
使用反射 API。示例:stackoverflow.com/questions/32716952/…
-
不,我不能 - StackOverflow 认为它微不足道,并自动将其转换为评论。对不起。