Этот вопрос возникает при попытке написать контрольные примеры. 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 () не финальным? или как мне пройти тестирование?