Используйте EventSpyDispatcher Maven в пользовательском Junit RunListener - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь написать пользовательский 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') Как мне этого добиться?

...