in maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportRenderer.java [168:261]
private void renderSectionPackages() {
Map<String, List<ReportTestSuite>> suitePackages = parser.getSuitesGroupByPackage(testSuites);
if (suitePackages.isEmpty()) {
return;
}
startSection(getI18nString("surefire", "label.packagelist"), "Package_List");
constructHotLinks();
sink.lineBreak();
startTable();
tableHeader(new String[] {
getI18nString("surefire", "label.package"),
getI18nString("surefire", "label.tests"),
getI18nString("surefire", "label.errors"),
getI18nString("surefire", "label.failures"),
getI18nString("surefire", "label.skipped"),
getI18nString("surefire", "label.successrate"),
getI18nString("surefire", "label.time")
});
for (Map.Entry<String, List<ReportTestSuite>> entry : suitePackages.entrySet()) {
String packageName = !entry.getKey().isEmpty() ? entry.getKey() : "(default package)";
List<ReportTestSuite> testSuiteList = entry.getValue();
Map<String, Object> packageSummary = parser.getSummary(testSuiteList);
tableRow(new String[] {
createLinkPatternedText(packageName, '#' + DoxiaUtils.encodeId(packageName)),
String.valueOf(packageSummary.get("totalTests")),
String.valueOf(packageSummary.get("totalErrors")),
String.valueOf(packageSummary.get("totalFailures")),
String.valueOf(packageSummary.get("totalSkipped")),
formatI18nString("surefire", "value.successrate", packageSummary.get("totalPercentage")),
formatI18nString("surefire", "value.time", packageSummary.get("totalElapsedTime"))
});
}
endTable();
sink.lineBreak();
paragraph(getI18nString("surefire", "text.note2"));
for (Map.Entry<String, List<ReportTestSuite>> entry : suitePackages.entrySet()) {
String packageName = !entry.getKey().isEmpty() ? entry.getKey() : "(default package)";
List<ReportTestSuite> testSuiteList = entry.getValue();
startSection(packageName);
boolean showTable = false;
for (ReportTestSuite suite : testSuiteList) {
if (showSuccess || suite.getNumberOfErrors() != 0 || suite.getNumberOfFailures() != 0) {
showTable = true;
break;
}
}
if (showTable) {
startTable();
tableHeader(new String[] {
"",
getI18nString("surefire", "label.class"),
getI18nString("surefire", "label.tests"),
getI18nString("surefire", "label.errors"),
getI18nString("surefire", "label.failures"),
getI18nString("surefire", "label.skipped"),
getI18nString("surefire", "label.successrate"),
getI18nString("surefire", "label.time")
});
for (ReportTestSuite suite : testSuiteList) {
if (showSuccess || suite.getNumberOfErrors() != 0 || suite.getNumberOfFailures() != 0) {
renderSectionTestSuite(suite);
}
}
endTable();
}
endSection();
}
sink.lineBreak();
endSection();
}