diff --git a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java index 83ccc0619d..3cc15a6703 100644 --- a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java +++ b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java @@ -131,6 +131,8 @@ public void startElement(String uri, String localName, String qName, Attributes classesToSuitesIndex.put(defaultSuite.getFullClassName(), suites.size() - 1); break; case "testcase": + // Although this element does not contain any text, this line must be retained because the + // nested elements do have text content. currentElement = new StringBuilder(); testCase = new ReportTestCase().setName(attributes.getValue("name")); @@ -162,10 +164,14 @@ public void startElement(String uri, String localName, String qName, Attributes } break; case "failure": + currentElement = new StringBuilder(); + testCase.setFailure(attributes.getValue("message"), attributes.getValue("type")); currentSuite.incrementNumberOfFailures(); break; case "error": + currentElement = new StringBuilder(); + testCase.setError(attributes.getValue("message"), attributes.getValue("type")); currentSuite.incrementNumberOfErrors(); break; @@ -181,6 +187,9 @@ public void startElement(String uri, String localName, String qName, Attributes case "failsafe-summary": valid = false; break; + case "time": + currentElement = new StringBuilder(); + break; default: break; }