我正在尝试编写一个自定义 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')我怎么能做到这一点?