trait Payloads extends AnyRef
Trait facilitating the inclusion of a payload in a thrown ScalaTest exception.
This trait includes a withPayload
construct
that enables a payload object (or modified
payload object) to be included as the payload of a thrown exception.
Many ScalaTest events include an optional "payload" field that can be used
to pass information to a custom reporter. This trait facilitates such customization,
by making it easy to insert a payload into a thrown exception, such as a TestFailedException
.
The thrown exception must mix in Payload
.
ScalaTest looks for trait Payload
and fires any payloads it finds in the relevant ScalaTest event
stimulated by the exception, such as a TestFailed
event stimulated by a TestFailedException
.
Here's an example in which a GUI snapshot is included as a payload when a test fails:
withPayload(generateGUISnapshot()) { 1 + 1 should === (3) }
- Source
- Payloads.scala
- Alphabetic
- By Inheritance
- Payloads
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
withPayload[T](payload: ⇒ Any)(fun: ⇒ T): T
Executes the block of code passed as the second parameter, and, if it completes abruptly with a
ModifiablePayload
exception, replaces the current payload contained in the exception, if any, with the one passed as the first parameter.Executes the block of code passed as the second parameter, and, if it completes abruptly with a
ModifiablePayload
exception, replaces the current payload contained in the exception, if any, with the one passed as the first parameter.This method allows you to insert a payload into a thrown
Payload
exception (such as aTestFailedException
), so that payload can be included in events fired to a custom reporter that can make use of the payload. Here's an example in which a GUI snapshot is included as a payload when a test fails:withPayload(generateGUISnapshot()) { 1 + 1 should === (3) }