Trait whose instances collect the results of a running
suite of tests and presents those results in some way to the user. Instances of this trait can
be called "report functions" or "reporters."
Reporters receive test results via fifteen events.
Each event is fired to pass a particular kind of information to
the reporter. The events are:
Reporters may be implemented such that they only present some of the reported events to the user. For example, you could
define a reporter class that does nothing in response to SuiteStarting events.
Such a class would always ignore SuiteStarting events.
The term test as used in the TestStarting, TestSucceeded,
and TestFailed event names
is defined abstractly to enable a wide range of test implementations.
ScalaTest's style traits (subclasse of trait Suite) fire
TestStarting to indicate they are about to invoke one
of their tests, TestSucceeded to indicate a test returned normally,
and TestFailed to indicate a test completed abruptly with an exception.
Although the execution of a Suite subclass's tests will likely be a common event
reported via the
TestStarting, TestSucceeded, and TestFailed events, because
of the abstract definition of “test” used by the
the event classes, these events are not limited to this use. Information about any conceptual test
may be reported via the TestStarting, TestSucceeded, and
TestFailed events.
Likewise, the term suite as used in the SuiteStarting, SuiteAborted,
and SuiteCompleted event names
is defined abstractly to enable a wide range of suite implementations.
Object Runner fires SuiteStarting to indicate it is about to invoke
run on a
Suite, SuiteCompleted to indicate a Suite's
run method returned normally,
and SuiteAborted to indicate a Suite's run
method completed abruptly with an exception.
Similarly, class Suite fires SuiteStarting to indicate it is about to invoke
run on a
nested Suite, SuiteCompleted to indicate a nested Suite's
run method returned normally,
and SuiteAborted to indicate a nested Suite's run
method completed abruptly with an exception.
Although the execution of a Suite's run method will likely be a
common event reported via the
SuiteStarting, SuiteAborted, and SuiteCompleted events, because
of the abstract definition of "suite" used by the
event classes, these events are not limited to this use. Information about any conceptual suite
may be reported via the SuiteStarting, SuiteAborted, and
SuiteCompleted events.
Extensibility
You can create classes that extend Reporter to report test results in custom ways, and to
report custom information passed as an event "payload."
Reporter classes can handle events in any manner, including doing nothing.
Trait whose instances collect the results of a running suite of tests and presents those results in some way to the user. Instances of this trait can be called "report functions" or "reporters."
Reporters receive test results via fifteen events. Each event is fired to pass a particular kind of information to the reporter. The events are:
DiscoveryStartingDiscoveryCompletedRunStartingRunStoppedRunAbortedRunCompletedScopeOpenedScopeClosedScopePendingTestStartingTestSucceededTestFailedTestCanceledTestIgnoredTestPendingSuiteStartingSuiteCompletedSuiteAbortedInfoProvidedMarkupProvidedAlertProvidedNoteProvidedReporters may be implemented such that they only present some of the reported events to the user. For example, you could define a reporter class that does nothing in response to
SuiteStartingevents. Such a class would always ignoreSuiteStartingevents.The term test as used in the
TestStarting,TestSucceeded, andTestFailedevent names is defined abstractly to enable a wide range of test implementations. ScalaTest's style traits (subclasse of traitSuite) fireTestStartingto indicate they are about to invoke one of their tests,TestSucceededto indicate a test returned normally, andTestFailedto indicate a test completed abruptly with an exception. Although the execution of aSuitesubclass's tests will likely be a common event reported via theTestStarting,TestSucceeded, andTestFailedevents, because of the abstract definition of “test” used by the the event classes, these events are not limited to this use. Information about any conceptual test may be reported via theTestStarting,TestSucceeded, andTestFailedevents.Likewise, the term suite as used in the
SuiteStarting,SuiteAborted, andSuiteCompletedevent names is defined abstractly to enable a wide range of suite implementations. ObjectRunnerfiresSuiteStartingto indicate it is about to invokerunon aSuite,SuiteCompletedto indicate aSuite'srunmethod returned normally, andSuiteAbortedto indicate aSuite'srunmethod completed abruptly with an exception. Similarly, classSuitefiresSuiteStartingto indicate it is about to invokerunon a nestedSuite,SuiteCompletedto indicate a nestedSuite'srunmethod returned normally, andSuiteAbortedto indicate a nestedSuite'srunmethod completed abruptly with an exception. Although the execution of aSuite'srunmethod will likely be a common event reported via theSuiteStarting,SuiteAborted, andSuiteCompletedevents, because of the abstract definition of "suite" used by the event classes, these events are not limited to this use. Information about any conceptual suite may be reported via theSuiteStarting,SuiteAborted, andSuiteCompletedevents.Extensibility
You can create classes that extend
Reporterto report test results in custom ways, and to report custom information passed as an event "payload."Reporterclasses can handle events in any manner, including doing nothing.