org.scalatest

trait Reporter

[source: org/scalatest/Reporter.scala]

trait Reporter
extends (Event) => Unit
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 thirteen 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 doesn 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. Trait Suite fires TestStarting to indicate it is about to invoke one of its test methods, TestSucceeded to indicate a test method returned normally, and TestFailed to indicate a test method completed abruptly with an exception. Although the execution of a Suite's test methods will likely be a common event reported via the TestStarting, TestSucceeded, and TestFailed methods, 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 ReportFunction to report test results in custom ways, and to report custom information passed as an event "payload." For more information on the latter use case, see the Extensibility section of the Event documentation.

Reporter classes can handle events in any manner, including doing nothing. For convenience, trait ReporterFunction includes a default implentation of apply that does nothing.

Author
Bill Venners
Direct Known Subclasses:
ResourcefulReporter

Method Summary
abstract def apply (event : Event) : Unit
Invoked to report an event that subclasses may wish to report in some way to the user.
Methods inherited from scala.Function1
scala.Function1.toString, scala.Function1.compose, scala.Function1.andThen
Methods inherited from AnyRef
getClass, hashCode, equals, clone, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Method Details
abstract def apply(event : Event) : Unit
Invoked to report an event that subclasses may wish to report in some way to the user.
Parameters
event - the event being reported
Overrides
scala.Function1.scala.Function1.apply


Copyright (C) 2001-2009 Artima, Inc. All rights reserved.