Я пытаюсь написать пользовательский Junit RunListener
, который будет вызываться Surefire при выполнении тестов.
Мой слушатель должен создать несколько пользовательских «событий», которые будут отправлены через Maven's EventSpyDispatcher
, чтобы они могли быть обнаружены шпионом событий, которого я также создал.
Мой CustomTestRunListener
находится в отдельном банке, который добавляется в путь к классам тестов Surefire.
Мой слушатель выглядит так
@Component(role = RunListener.class)
public class CustomTestRunListener extends RunListener {
@Requirement
EventSpyDispatcher eventSpyDispatcher;
public CustomTestRunListener() {
System.out.println("CustomTestRunListener created");
System.out.println(eventSpyDispatcher);
}
@Override
public void testRunStarted(Description description) throws Exception {
System.out.println("testRunStarted");
}
}
Если оно успешно подключено в Surefire, потому что я вижу, как печатаются мои заявления System.out
.
Но eventSpyDispatcher не внедряется (на нем обозначена система 'null')
Как мне этого добиться?