Class LegacyXmlReportGeneratingListener
- java.lang.Object
-
- org.junit.platform.reporting.legacy.xml.LegacyXmlReportGeneratingListener
-
- All Implemented Interfaces:
TestExecutionListener
@API(status=STABLE, since="1.7") public class LegacyXmlReportGeneratingListener extends java.lang.Object implements TestExecutionListenerLegacyXmlReportGeneratingListeneris aTestExecutionListenerthat generates a separate XML report for each root in theTestPlan.Note that the generated XML format is compatible with the legacy de facto standard for JUnit 4 based test reports that was made popular by the Ant build system.
- Since:
- 1.4
- See Also:
LoggingListener,SummaryGeneratingListener
-
-
Field Summary
Fields Modifier and Type Field Description private java.time.Clockclockprivate java.io.PrintWriteroutprivate XmlReportDatareportDataprivate java.nio.file.PathreportsDir
-
Constructor Summary
Constructors Modifier Constructor Description (package private)LegacyXmlReportGeneratingListener(java.lang.String reportsDir, java.io.PrintWriter out, java.time.Clock clock)LegacyXmlReportGeneratingListener(java.nio.file.Path reportsDir, java.io.PrintWriter out)privateLegacyXmlReportGeneratingListener(java.nio.file.Path reportsDir, java.io.PrintWriter out, java.time.Clock clock)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidexecutionFinished(TestIdentifier testIdentifier, TestExecutionResult result)Called when the execution of a leaf or subtree of theTestPlanhas finished, regardless of the outcome.voidexecutionSkipped(TestIdentifier testIdentifier, java.lang.String reason)Called when the execution of a leaf or subtree of theTestPlanhas been skipped.voidexecutionStarted(TestIdentifier testIdentifier)Called when the execution of a leaf or subtree of theTestPlanis about to be started.private booleanisRoot(TestIdentifier testIdentifier)private voidprintException(java.lang.String message, java.lang.Exception exception)voidreportingEntryPublished(TestIdentifier testIdentifier, ReportEntry entry)Called when additional test reporting data has been published for the suppliedTestIdentifier.voidtestPlanExecutionFinished(TestPlan testPlan)Called when the execution of theTestPlanhas finished, after all tests have been executed.voidtestPlanExecutionStarted(TestPlan testPlan)Called when the execution of theTestPlanhas started, before any test has been executed.private voidwriteXmlReportInCaseOfRoot(TestIdentifier testIdentifier)private voidwriteXmlReportSafely(TestIdentifier testIdentifier, java.lang.String rootName)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.junit.platform.launcher.TestExecutionListener
dynamicTestRegistered
-
-
-
-
Field Detail
-
reportsDir
private final java.nio.file.Path reportsDir
-
out
private final java.io.PrintWriter out
-
clock
private final java.time.Clock clock
-
reportData
private XmlReportData reportData
-
-
Constructor Detail
-
LegacyXmlReportGeneratingListener
public LegacyXmlReportGeneratingListener(java.nio.file.Path reportsDir, java.io.PrintWriter out)
-
LegacyXmlReportGeneratingListener
LegacyXmlReportGeneratingListener(java.lang.String reportsDir, java.io.PrintWriter out, java.time.Clock clock)
-
LegacyXmlReportGeneratingListener
private LegacyXmlReportGeneratingListener(java.nio.file.Path reportsDir, java.io.PrintWriter out, java.time.Clock clock)
-
-
Method Detail
-
testPlanExecutionStarted
public void testPlanExecutionStarted(TestPlan testPlan)
Description copied from interface:TestExecutionListenerCalled when the execution of theTestPlanhas started, before any test has been executed.- Specified by:
testPlanExecutionStartedin interfaceTestExecutionListener- Parameters:
testPlan- describes the tree of tests about to be executed
-
testPlanExecutionFinished
public void testPlanExecutionFinished(TestPlan testPlan)
Description copied from interface:TestExecutionListenerCalled when the execution of theTestPlanhas finished, after all tests have been executed.- Specified by:
testPlanExecutionFinishedin interfaceTestExecutionListener- Parameters:
testPlan- describes the tree of tests that have been executed
-
executionSkipped
public void executionSkipped(TestIdentifier testIdentifier, java.lang.String reason)
Description copied from interface:TestExecutionListenerCalled when the execution of a leaf or subtree of theTestPlanhas been skipped.The
TestIdentifiermay represent a test or a container. In the case of a container, no listener methods will be called for any of its descendants.A skipped test or subtree of tests will never be reported as started or finished.
- Specified by:
executionSkippedin interfaceTestExecutionListener- Parameters:
testIdentifier- the identifier of the skipped test or containerreason- a human-readable message describing why the execution has been skipped
-
executionStarted
public void executionStarted(TestIdentifier testIdentifier)
Description copied from interface:TestExecutionListenerCalled when the execution of a leaf or subtree of theTestPlanis about to be started.The
TestIdentifiermay represent a test or a container.This method will only be called if the test or container has not been skipped.
This method will be called for a container
TestIdentifierbefore starting or skipping any of its children.- Specified by:
executionStartedin interfaceTestExecutionListener- Parameters:
testIdentifier- the identifier of the started test or container
-
reportingEntryPublished
public void reportingEntryPublished(TestIdentifier testIdentifier, ReportEntry entry)
Description copied from interface:TestExecutionListenerCalled when additional test reporting data has been published for the suppliedTestIdentifier.Can be called at any time during the execution of a test plan.
- Specified by:
reportingEntryPublishedin interfaceTestExecutionListener- Parameters:
testIdentifier- describes the test or container to which the entry pertainsentry- the publishedReportEntry
-
executionFinished
public void executionFinished(TestIdentifier testIdentifier, TestExecutionResult result)
Description copied from interface:TestExecutionListenerCalled when the execution of a leaf or subtree of theTestPlanhas finished, regardless of the outcome.The
TestIdentifiermay represent a test or a container.This method will only be called if the test or container has not been skipped.
This method will be called for a container
TestIdentifierafter all of its children have been skipped or have finished.The
TestExecutionResultdescribes the result of the execution for the suppliedTestIdentifier. The result does not include or aggregate the results of its children. For example, a container with a failing test will be reported asSUCCESSFULeven if one or more of its children are reported asFAILED.- Specified by:
executionFinishedin interfaceTestExecutionListener- Parameters:
testIdentifier- the identifier of the finished test or containerresult- the (unaggregated) result of the execution for the suppliedTestIdentifier- See Also:
TestExecutionResult
-
writeXmlReportInCaseOfRoot
private void writeXmlReportInCaseOfRoot(TestIdentifier testIdentifier)
-
writeXmlReportSafely
private void writeXmlReportSafely(TestIdentifier testIdentifier, java.lang.String rootName)
-
isRoot
private boolean isRoot(TestIdentifier testIdentifier)
-
printException
private void printException(java.lang.String message, java.lang.Exception exception)
-
-