Код: Выделить всё
public class ClientFactory {
public static Process getClientByServiceId(long serviceId) {
return switch (ServiceTypeEnum.getByServiceId(serviceId)) {
case IMAGEPROCESSOR -> new ImageProcessorImpl();
case TEXTANALYZER -> new TextAnalyzerImpl();
case DOCUMENTPARSER -> new DocumentParserImpl();
case FILEHANDLER -> new FileHandlerImpl();
//etc
};
}
Все реализации содержат что-то вроде этого:
Код: Выделить всё
@Component
public class ImageProcessorImpl implements Process {
private MyClient myClient;
@PostConstruct
public void initialize() {
myClient= new RestClient(someVariables..);
}
}
@Override
public buy() {
restClient.request();
}
Теперь, когда я пытаюсь запустить тест junit с Mockito, независимо от того, как я внедряю макеты, я всегда получаю, что myClient имеет значение null!
Я издевался над клиентом, издевался над всеми методами, но результат всегда был нулевым. Я уверен, что это зависит от некоторых проблем с инъекциями, с которыми Mockito не может справиться. Есть ли способ проверить это?
Подробнее здесь: https://stackoverflow.com/questions/793 ... postconstr
Мобильная версия