作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有:
public abstract class A {
private Object target; // <- **IMPORTANT**
protected Blah blah // ... Not directly relevant to the question,
protected Blah blah2 // they are just a potential reason to extend
// test class ...?
public int func (){
int hello = Integer.parseInt(target.Fields.want2Change);
return hello;
}
}
我想测试A类。因为它是抽象的,所以我用 ATest 类来扩展它。还有其他字段,但它们受到保护,这是合理的。
我的问题是来自子类,我如何访问家长私有(private)字段,例如目标。
我混合使用了模拟(Mockito)和反射。
我也尝试过只使用反射而不扩展类。
最佳答案
这并不能直接回答您的问题,但是否可以通过某种方式行使父类的公共(public) api 来测试私有(private)字段状态?
如果你能做到这一点,那么就不需要反射(reflection),而且从长远来看,这可能更容易维护。
如果没有,那么您必须扩展该类并使用 relection 来获取私有(private)属性(property)的句柄。
查看此主题:
关于java - 如何更改旧单元测试的私有(private)抽象父字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024369/
我是一名优秀的程序员,十分优秀!