3

我正在尝试编写一个自定义 Junit RunListener,在执行测试时由 Surefire 调用。我的侦听器应该创建一些自定义“事件”以通过 Maven 发送EventSpyDispatcher,以便我也创建的事件间谍可以接收这些事件。

CustomTestRunListener生活在一个单独的 jar 中,该 jar 添加到 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')我怎么能做到这一点?

4

0 回答 0