org.apache.maven.plugins.surefire.report.ReportTestSuite Java Examples
The following examples show how to use
org.apache.maven.plugins.surefire.report.ReportTestSuite.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AbstractRepairMojo.java From repairnator with MIT License | 6 votes |
public List<String> getFailingTests() { List<String> result = new ArrayList<>(); for (MavenProject mavenProject : reactorProjects) { File surefireReportsDirectory = getSurefireReportsDirectory(mavenProject); SurefireReportParser parser = new SurefireReportParser(Collections.singletonList(surefireReportsDirectory), Locale.ENGLISH, new NullConsoleLogger()); try { List<ReportTestSuite> testSuites = parser.parseXMLReportFiles(); for (ReportTestSuite reportTestSuite : testSuites) { if (reportTestSuite.getNumberOfErrors()+reportTestSuite.getNumberOfFailures() > 0) { result.add(reportTestSuite.getFullClassName()); } } } catch (MavenReportException e) { e.printStackTrace();; } } return result; }
Example #2
Source File: SurefireReporter.java From testgrid with Apache License 2.0 | 5 votes |
/** * Parses the surefire reports and returns a summarized TestResult object. * * @param testPlan the testplan * @return test result */ public TestResult getReport(TestPlan testPlan) { TestResult testResult = new TestResult(); try { Path filePath = TestGridUtil.getSurefireReportsDir(testPlan); final SurefireReportParser surefireReportParser = new SurefireReportParser( Collections.singletonList(filePath.toFile()), ENGLISH, new NullConsoleLogger()); final List<ReportTestSuite> reportTestSuites = surefireReportParser.parseXMLReportFiles(); final Map<String, String> summary = surefireReportParser.getSummary(reportTestSuites); testResult.totalTests = summary.get("totalTests"); testResult.totalFailures = summary.get("totalFailures"); testResult.totalErrors = summary.get("totalErrors"); testResult.totalSkipped = summary.get("totalSkipped"); final List<ReportTestCase> failureDetails = surefireReportParser.getFailureDetails(reportTestSuites); testResult.failureTests = getTests(failureDetails, ReportTestCase::hasFailure); testResult.errorTests = getTests(failureDetails, ReportTestCase::hasError); return testResult; } catch (MavenReportException e) { logger.warn("Error while processing surefire-reports for " + testPlan.getId() + " for infra combination:" + " " + testPlan.getInfraParameters() + ". Continuing processing of other test plans", e); } return testResult; }
Example #3
Source File: UnitTestMojo.java From wisdom with Apache License 2.0 | 5 votes |
private static void computeTestFailureMessageFromReports(StringBuilder message, SurefireReportParser parser) throws MavenReportException { List<ReportTestSuite> suites = parser.parseXMLReportFiles(); Map<String, String> summary = parser.getSummary(suites); message .append(summary.get("totalTests")) .append(" tests, ") .append(summary.get("totalErrors")) .append(" errors, ") .append(summary.get("totalFailures")) .append(" failures, ") .append(summary.get("totalSkipped")) .append(" skipped ") .append("(executed in ") .append(summary.get("totalElapsedTime")) .append("s)<br/><ul>"); for (ReportTestSuite suite : suites) { if (suite.getNumberOfErrors() > 0 || suite.getNumberOfFailures() > 0) { for (ReportTestCase tc : suite.getTestCases()) { if (tc.getFailure() != null && !"skipped".equalsIgnoreCase((String) tc.getFailure().get("message"))) { message .append("<li><em>") .append(tc.getFullName()) .append("</em> failed: ") .append(tc.getFailure().get("message")) .append("</li>"); } } } } message.append("</ul>"); }