public SurefireReportGenerator( List<File> reportsDirectories, Locale locale, boolean showSuccess, String xrefLocation, ConsoleLogger consoleLogger ) { report = new SurefireReportParser( reportsDirectories, locale, consoleLogger ); this.showSuccess = showSuccess; this.xrefLocation = xrefLocation; }
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"))
public Map<String, String> getSummary( List<ReportTestSuite> suites ) { Map<String, String> totalSummary = new HashMap<>(); int totalNumberOfTests = 0; int totalNumberOfErrors = 0; int totalNumberOfFailures = 0; int totalNumberOfSkipped = 0; float totalElapsedTime = 0.0f; for ( ReportTestSuite suite : suites ) { totalNumberOfTests += suite.getNumberOfTests(); totalNumberOfErrors += suite.getNumberOfErrors(); totalNumberOfFailures += suite.getNumberOfFailures(); totalNumberOfSkipped += suite.getNumberOfSkipped(); totalElapsedTime += suite.getTimeElapsed(); } String totalPercentage = computePercentage( totalNumberOfTests, totalNumberOfErrors, totalNumberOfFailures, totalNumberOfSkipped ); totalSummary.put( "totalTests", Integer.toString( totalNumberOfTests ) ); totalSummary.put( "totalErrors", Integer.toString( totalNumberOfErrors ) ); totalSummary.put( "totalFailures", Integer.toString( totalNumberOfFailures ) ); totalSummary.put( "totalSkipped", Integer.toString( totalNumberOfSkipped ) ); totalSummary.put( "totalElapsedTime", numberFormat.format( totalElapsedTime ) ); totalSummary.put( "totalPercentage", totalPercentage ); return totalSummary; }
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; }
public void doGenerateReport( LocalizedProperties bundle, Sink sink ) throws MavenReportException testSuites = report.parseXMLReportFiles(); Map<String, List<ReportTestSuite>> suitePackages = report.getSuitesGroupByPackage( testSuites ); if ( !suitePackages.isEmpty() ) List<ReportTestCase> failureList = report.getFailureDetails( testSuites ); if ( !failureList.isEmpty() )
private void constructPackagesSection( LocalizedProperties bundle, Sink sink, Map<String, List<ReportTestSuite>> suitePackages ) NumberFormat numberFormat = report.getNumberFormat(); Map<String, String> packageSummary = report.getSummary( testSuiteList );
private void constructSummarySection( LocalizedProperties bundle, Sink sink ) Map<String, String> summary = report.getSummary( testSuites );
/** * Returns {@code true} if the specified directory contains at least one report file. * * @param directory the directory * @return {@code true} if the specified directory contains at least one report file. */ public static boolean hasReportFiles( File directory ) { return directory != null && directory.isDirectory() && getIncludedFiles( directory, INCLUDES, EXCLUDES ).length != 0; }
private void constructTestCasesSection( LocalizedProperties bundle, Sink sink ) NumberFormat numberFormat = report.getNumberFormat();
SurefireReportParser parser = new SurefireReportParser(Collections.singletonList(surefireReportsDirectory), Locale.ENGLISH, new NullConsoleLogger()); try { List<ReportTestSuite> testSuites = parser.parseXMLReportFiles(); for (int i = 0; i < testSuites.size(); i++) { ReportTestSuite reportTestSuite = testSuites.get(i);
public void doGenerateReport( LocalizedProperties bundle, Sink sink ) throws MavenReportException testSuites = report.parseXMLReportFiles(); Map<String, List<ReportTestSuite>> suitePackages = report.getSuitesGroupByPackage( testSuites ); if ( !suitePackages.isEmpty() ) List<ReportTestCase> failureList = report.getFailureDetails( testSuites ); if ( !failureList.isEmpty() )
private void constructPackagesSection( LocalizedProperties bundle, Sink sink, Map<String, List<ReportTestSuite>> suitePackages ) NumberFormat numberFormat = report.getNumberFormat(); Map<String, String> packageSummary = report.getSummary( testSuiteList );
private void constructSummarySection( LocalizedProperties bundle, Sink sink ) Map<String, String> summary = report.getSummary( testSuites );
/** * Returns {@code true} if the specified directory contains at least one report file. * * @param directory the directory * @return {@code true} if the specified directory contains at least one report file. */ public static boolean hasReportFiles( File directory ) { return directory != null && directory.isDirectory() && getIncludedFiles( directory, INCLUDES, EXCLUDES ).length != 0; }
private void constructTestCasesSection( LocalizedProperties bundle, Sink sink ) NumberFormat numberFormat = report.getNumberFormat();
SurefireReportParser parser = new SurefireReportParser(Arrays.asList(new File[] { surefireDir }), Locale.ENGLISH, null); try { List<ReportTestSuite> testSuites = parser.parseXMLReportFiles(); for (ReportTestSuite testSuite : testSuites) { this.nbTotalTests += testSuite.getNumberOfTests();
public SurefireReportGenerator( List<File> reportsDirectories, Locale locale, boolean showSuccess, String xrefLocation, ConsoleLogger consoleLogger ) { report = new SurefireReportParser( reportsDirectories, locale, consoleLogger ); this.showSuccess = showSuccess; this.xrefLocation = xrefLocation; }
public Map<String, String> getSummary( List<ReportTestSuite> suites ) { Map<String, String> totalSummary = new HashMap<String, String>(); int totalNumberOfTests = 0; int totalNumberOfErrors = 0; int totalNumberOfFailures = 0; int totalNumberOfSkipped = 0; float totalElapsedTime = 0.0f; for ( ReportTestSuite suite : suites ) { totalNumberOfTests += suite.getNumberOfTests(); totalNumberOfErrors += suite.getNumberOfErrors(); totalNumberOfFailures += suite.getNumberOfFailures(); totalNumberOfSkipped += suite.getNumberOfSkipped(); totalElapsedTime += suite.getTimeElapsed(); } String totalPercentage = computePercentage( totalNumberOfTests, totalNumberOfErrors, totalNumberOfFailures, totalNumberOfSkipped ); totalSummary.put( "totalTests", Integer.toString( totalNumberOfTests ) ); totalSummary.put( "totalErrors", Integer.toString( totalNumberOfErrors ) ); totalSummary.put( "totalFailures", Integer.toString( totalNumberOfFailures ) ); totalSummary.put( "totalSkipped", Integer.toString( totalNumberOfSkipped ) ); totalSummary.put( "totalElapsedTime", numberFormat.format( totalElapsedTime ) ); totalSummary.put( "totalPercentage", totalPercentage ); return totalSummary; }
for ( String xmlReportFile : getIncludedFiles( reportsDirectory, INCLUDES, EXCLUDES ) )
SurefireReportParser parser = new SurefireReportParser(ImmutableList.of(reports), Locale.ENGLISH); try { computeTestFailureMessageFromReports(message, parser);