У меня есть класс (класс B), который расширяет родительский класс (класс A).У родительского класса есть открытый метод (метод X), который вызывает метод одного из его закрытых полей-членов (поле f> метод Y).Я пытаюсь написать модульный тест, чтобы протестировать метод класса B. Однако мне нужно смоделировать вызов метода X, который наследуется классом B. Однако при попытке вызвать метод Y это дает мне ошибку нулевого указателя.в методе X. Я не уверен, как смоделировать поле f из класса B. Может ли кто-нибудь помочь мне с этим?
Я использую Mockito для написания теста.Поле f является автоматическим.Я хотел бы избежать добавления нового кода в файл, так как это не мой код.Я попробовал:
@Mock
field f;
doReturn(someReturnValue).when(f).Y();
Но это не называется.Я чувствую, что это потому, что в классе B. нет поля f.
Текущая настройка выглядит примерно так:
class A{
@Autowired
private Object f;
public void X(){
Map<String, Object> map = new HashMap<>();
map.putAll(f.Y()); // NPE thrown here
}
};
class B extends A{
};
Попытка смоделировать поле f в моем модульном тесте выдает нольошибка указателя в строке, где выполняется вызов fY ().