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:
DiscoveryStarting
DiscoveryCompleted
RunStarting
RunStopped
RunAborted
RunCompleted
ScopeOpened
ScopeClosed
ScopePending
TestStarting
TestSucceeded
TestFailed
TestCanceled
TestIgnored
TestPending
SuiteStarting
SuiteCompleted
SuiteAborted
InfoProvided
MarkupProvided
AlertProvided
NoteProvided
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 ignoreSuiteStarting
events.The term test as used in the
TestStarting
,TestSucceeded
, andTestFailed
event names is defined abstractly to enable a wide range of test implementations. ScalaTest's style traits (subclasse of traitSuite
) fireTestStarting
to indicate they are about to invoke one of their tests,TestSucceeded
to indicate a test returned normally, andTestFailed
to indicate a test completed abruptly with an exception. Although the execution of aSuite
subclass's tests will likely be a common event reported via theTestStarting
,TestSucceeded
, andTestFailed
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 theTestStarting
,TestSucceeded
, andTestFailed
events.Likewise, the term suite as used in the
SuiteStarting
,SuiteAborted
, andSuiteCompleted
event names is defined abstractly to enable a wide range of suite implementations. ObjectRunner
firesSuiteStarting
to indicate it is about to invokerun
on aSuite
,SuiteCompleted
to indicate aSuite
'srun
method returned normally, andSuiteAborted
to indicate aSuite
'srun
method completed abruptly with an exception. Similarly, classSuite
firesSuiteStarting
to indicate it is about to invokerun
on a nestedSuite
,SuiteCompleted
to indicate a nestedSuite
'srun
method returned normally, andSuiteAborted
to indicate a nestedSuite
'srun
method completed abruptly with an exception. Although the execution of aSuite
'srun
method will likely be a common event reported via theSuiteStarting
,SuiteAborted
, andSuiteCompleted
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 theSuiteStarting
,SuiteAborted
, andSuiteCompleted
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.