Уже есть несколько вопросов по этому поводу:
что такое нелегальный рефлексивный доступ
JDK9: произошла недопустимая операция рефлексивного доступа. org.python.core.PySystemState
и еще несколько.
В целях тестирования вы можете просто выполнить отражение с вашей стороны, без необходимости использовать зависимости. Я изменил тип возвращаемого значения метода collectEnvironmentData только для лучшего понимания:
@EventListener
private String collectEnvironmentData(ContextRefreshedEvent event) {
return "Test";
}
Вы можете получить желаемый результат, получив к нему доступ следующим образом:
@Test
public void reportingTest() throws Exception {
ContextRefreshedEvent contextRefreshedEvent = PowerMockito.mock(ContextRefreshedEvent.class);
Method privateMethod = ReportingProcessor.class.
getDeclaredMethod("collectEnvironmentData", ContextRefreshedEvent.class);
privateMethod.setAccessible(true);
String returnValue = (String)
privateMethod.invoke(reportingProcessor, contextRefreshedEvent);
Assert.assertEquals("Test", returnValue);
}
Нет предупреждений на моемконсоль, с JDK13.