Инъекция объекта, хотя 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 обрабатывает конечные (и некоторые другие вещи) классы, на которых я ударил в моем случае.