在尝试编写测试用例时会出现这个问题。Foo 是框架库中的一个类,我没有源代码访问权限。
public class Foo{
public final Object getX(){
...
}
}
我的申请将
public class Bar extends Foo{
public int process(){
Object value = getX();
...
}
}
由于其他依赖关系,我无法创建 Foo 对象,因此单元测试用例无法初始化。BarTest 抛出一个空指针,因为值为空。
public class BarTest extends TestCase{
public testProcess(){
Bar bar = new Bar();
int result = bar.process();
...
}
}
有没有办法可以使用反射 api 将 getX() 设置为非最终的?或者我应该如何进行测试?