我偶然发现了一个测试问题,该问题模拟了父类(super class)对 protected 方法的调用。
例如:
public class A extends B {
@Override
protected int calculate(int x, int y) {
int result = super.calculate(x, y);
result += 10;
return result;
}
}
那么是否可以通过任何方式模拟 super.calcluate(x,y)
?我已经用 spy 试过了,但是 spy 无法调用 super 方法,因为我认为它超出了范围。
最佳答案
我想一个模拟框架将允许您模拟 protected
成员,但如果您的模拟框架不允许,您是否考虑过创建该类的 stub ?
public class AStub extends A {
@Override
protected int calculate(int x, int y) {
// do stub calculation
return calculation;
}
}
关于java - 我可以在 Java 中模拟 protected 父类(super class)方法调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7635353/