@API(value=Experimental) public interface EngineExecutionListener
Contrary to JUnit 4, test engines must report events not only for test descriptors that represent executable leaves but also for all intermediate containers.
TestEngine,
ExecutionRequest| Modifier and Type | Method and Description |
|---|---|
void |
dynamicTestRegistered(TestDescriptor testDescriptor)
Must be called when a new, dynamic
TestDescriptor has been
registered. |
void |
executionFinished(TestDescriptor testDescriptor,
TestExecutionResult testExecutionResult)
Must be called when the execution of a leaf or subtree of the test tree
has finished, regardless of the outcome.
|
void |
executionSkipped(TestDescriptor testDescriptor,
String reason)
Must be called when the execution of a leaf or subtree of the test tree
has been skipped.
|
void |
executionStarted(TestDescriptor testDescriptor)
Must be called when the execution of a leaf or subtree of the test tree
is about to be started.
|
void |
reportingEntryPublished(TestDescriptor testDescriptor,
ReportEntry entry)
Can be called for any
testDescriptor in order to publish additional information, e.g.:
Output that would otherwise go to System.out
Information about test context or test data
|
void dynamicTestRegistered(TestDescriptor testDescriptor)
TestDescriptor has been
registered.
A dynamic test is a test that is not known a-priori and therefore was not present in the test tree when discovering tests.
testDescriptor - the descriptor of the newly registered test
or containervoid executionSkipped(TestDescriptor testDescriptor, String reason)
The TestDescriptor may represent a test or a container. In the
case of a container, engines must not fire any additional events for its
descendants.
A skipped test or subtree of tests must not be reported as started or finished.
testDescriptor - the descriptor of the skipped test or containerreason - a human-readable message describing why the execution
has been skippedvoid executionStarted(TestDescriptor testDescriptor)
The TestDescriptor may represent a test or a container. In the
case of a container, engines have to fire additional events for its
children.
This method may only be called if the test or container has not been skipped.
This method must be called for a container TestDescriptor
before starting or
skipping any of its children.
testDescriptor - the descriptor of the started test or containervoid executionFinished(TestDescriptor testDescriptor, TestExecutionResult testExecutionResult)
The TestDescriptor may represent a test or a container.
This method may only be called if the test or container has not been skipped.
This method must be called for a container TestIdentifier
after all of its children have been
skipped or have
finished.
The TestExecutionResult describes the result of the execution
for the supplied testDescriptor. The result does not include or
aggregate the results of its children. For example, a container with a
failing test must be reported as SUCCESSFUL even
if one or more of its children are reported as FAILED.
testDescriptor - the descriptor of the finished test or containertestExecutionResult - the (unaggregated) result of the execution for
the supplied TestDescriptorTestExecutionResultvoid reportingEntryPublished(TestDescriptor testDescriptor, ReportEntry entry)
testDescriptor in order to publish additional information, e.g.:
System.outThe current lifecycle state of testDescriptor is not relevant;
that means that reporting events can occur at all times.
testDescriptor - the descriptor of the test or container to which the entry belongsentry - a ReportEntry instance to be published