public void observeAfterTest(@Observes(precedence = Integer.MIN_VALUE) AfterTestLifecycleEvent event, TestResult result) { int count = lifecycleCountRegister.get(event.getTestMethod()); lifecycleCountRegister.put(event.getTestMethod(), --count); if (lifecycleCountRegister.get(event.getTestMethod()) == 0) { TestMethodReport testMethodReport = reporter.get().getLastTestMethodReport(); testMethodReport.setStatus(result.getStatus()); testMethodReport.setDuration(result.getEnd() - result.getStart()); testMethodReport.setReportMessage(ReportMessageParser.parseTestReportMessage(event.getTestMethod())); if (result.getStatus() == Status.FAILED && result.getThrowable() != null) { testMethodReport.setException(getStackTrace(result.getThrowable())); } inTestResourceReportEvent.fire(new InTestResourceReport()); reporter.get().setReporterCursor(new ReporterCursor(reporter.get().getLastTestClassReport())); report(event, descriptor.get()); lifecycleCountRegister.remove(event.getTestMethod()); } }
testResult.setEndMillis((result.getStart() - result.getEnd()) + testResult.getStartMillis()); } catch (Exception e) { testResult.setThrowable(e);