Инъекция объекта, хотя InjectMocks Spy
Мне нужно запустить серию модульных тестов над классом, который имеет реализацию @Autowired Logger. Основная идея реализации:
@Mock Logger logger;
@InjectMocks
TestedClass tested;
но я хочу сохранить функциональность вывода журнала.
Позволяет ли Mockito lib вводить объекты с помощью @InjectMock? Я видел примеры аннотации @Spy, но когда я пытался ее использовать, я всегда получал исключение NullPointerException. Я знаю, что я всегда могу напрямую использовать рефлекс, но идея состоит в том, чтобы избежать такого кода.
Ответы
Ответ 1
Ну. Я должен буду ответить сам, если нет ответов.
Чтобы нажать живой объект с помощью аннотации @InjectMock, используется аннотация @Spy:
@Spy
Logger logger = LoggerFactory.getLogger("");
@InjectMocks
TestedClass tested = new TestedClass();
Единственное, что @Spy can not обрабатывает конечные (и некоторые другие вещи) классы, на которых я ударил в моем случае.