我正在尝试使用 jMockIt 用我自己的实现替换继承的 final 方法。
可以说我有以下内容:
public class Base {
...
public final int getX() {...}
}
public class Derived extends Base {
}
例如,有没有一种方法可以重新定义 getX() 以始终返回 10?
我尝试按照以下方式做一些事情:
new Base() {
@Mock
public int getX() {
return 10;
}
};
Derived d= new Derived();
System.out.println(d.getX());
这会产生关于 jMockIt 无法为 int getX() 找到匹配方法的运行时异常。
我遇到了这个线程: http ://groups.google.com/group/jmockit-users/browse_thread/thread/27a282ff2bd4ad96
但我不太了解那里提供的解决方案。
有人能帮忙吗?