Java 是否可以从RunListener.testFinished获取JUnit中的测试状态?

Java 是否可以从RunListener.testFinished获取JUnit中的测试状态?,java,junit,Java,Junit,我需要在JUnit中以不同的方式处理失败和通过的测试。但是JUnitRunListener只有testFinished()在测试失败与否时调用,只有testFailed()在测试失败时调用 有没有办法从RunListener.testFinished()中找到测试结果(失败\通过) 另外,我正在研究另一个JUnit类--TestWatcher。它有successed()方法。但是我不想使用它,因为我还需要在所有测试完成后执行一些操作(RunListener中的testRunFinished())

我需要在JUnit中以不同的方式处理失败和通过的测试。但是JUnit
RunListener
只有
testFinished()
在测试失败与否时调用,只有
testFailed()
在测试失败时调用

有没有办法从
RunListener.testFinished()
中找到测试结果(失败\通过)


另外,我正在研究另一个JUnit类--
TestWatcher
。它有
successed()
方法。但是我不想使用它,因为我还需要在所有测试完成后执行一些操作(
RunListener
中的
testRunFinished()

使用RunListener类执行此操作的方法是在testFailure()方法中使用子描述标记失败的测试,然后在testFinished()中检查该子描述方法:

class MyRunListener extends RunListener {
  private static final Description FAILED = Description.createTestDescription('failed', 'failed')

  @Override
  void testFailure(Failure failure) throws Exception {
    failure.description.addChild(FAILED)
  }

  @Override
  void testFinished(Description description) throws Exception {
    if (description.children.contains(FAILED))
      // Process failed tests here...
    else
      // Process passed tests here...
  }
}