Java 自定义JUnit runner手动启动RunNotifier,但Maven Failsafe插件没有';t收到正确数量的测试结果

Java 自定义JUnit runner手动启动RunNotifier,但Maven Failsafe插件没有';t收到正确数量的测试结果,java,maven,junit,maven-failsafe-plugin,junit-runner,Java,Maven,Junit,Maven Failsafe Plugin,Junit Runner,我正在实现一个自定义JUnit runner,它扩展了BlockJUnit4ClassRunner,可以使用Maven Failsafe插件执行。运行程序将测试发送到Java应用程序服务器以运行,然后使用Java序列化接收测试结果。然后,它手动将测试结果发送到类的run()方法中给出的RunNotifier 这很好,但是当使用Maven Failsafe插件运行时,如果有一个或多个测试失败,插件将无法报告正确的测试运行次数;它将始终报告运行的测试数等于失败的测试数。即使发送到RunNotifie

我正在实现一个自定义JUnit runner,它扩展了
BlockJUnit4ClassRunner
,可以使用Maven Failsafe插件执行。运行程序将测试发送到Java应用程序服务器以运行,然后使用Java序列化接收测试结果。然后,它手动将测试结果发送到类的
run()
方法中给出的
RunNotifier

这很好,但是当使用Maven Failsafe插件运行时,如果有一个或多个测试失败,插件将无法报告正确的测试运行次数;它将始终报告运行的测试数等于失败的测试数。即使发送到
RunNotifier:firetsrunfinished()
方法的
Result
对象具有正确的统计信息,也会发生这种情况,因此故障保护插件看起来不会直接侦听RunNotifier报告的内容。但是,如果所有测试都通过,那么故障保护插件会报告正确的测试运行次数

我一直在浏览Maven插件代码,他们似乎使用了一个对象来记录测试结果。但是,我无法进一步理解代码,无法理解JUnit的结果是如何馈送到
TestSetStats
的。有人能给我解释一下这个过程吗

此外,有人知道为什么Maven Failsafe插件不会收到正确的测试结果吗?我知道我提供的信息相当笼统,所以请随时询问具体情况